CVE-2025-15412

5.3 MEDIUM

πŸ“‹ TL;DR

An out-of-bounds read vulnerability in wabt's wasm-decompile tool allows local attackers to read memory beyond intended boundaries. This affects users who process untrusted WebAssembly files with wabt versions up to 1.0.39. The vulnerability requires local access to exploit.

πŸ’» Affected Systems

Products:
  • WebAssembly Binary Toolkit (wabt)
Versions: Up to and including 1.0.39
Operating Systems: All platforms running wabt
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects the wasm-decompile component when processing malicious WebAssembly files

⚠️ Risk & Real-World Impact

πŸ”΄

Worst Case

Information disclosure of sensitive memory contents, potentially including credentials, keys, or other application data in memory

🟠

Likely Case

Application crash or denial of service when processing malicious WebAssembly files

🟒

If Mitigated

Limited impact due to local access requirement and memory read-only nature

🌐 Internet-Facing: LOW - Requires local access to exploit
🏒 Internal Only: MEDIUM - Internal users with access to wasm-decompile tool could exploit

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: βœ… No
Complexity: LOW

Exploit requires local access and ability to run wasm-decompile on malicious files

πŸ› οΈ Fix & Mitigation

βœ… Official Fix

Patch Version: None - project has no active maintainer

Vendor Advisory: https://github.com/WebAssembly/wabt/issues/2678

Restart Required: No

Instructions:

No official patch available. Consider community-contributed fixes or alternative tools.

πŸ”§ Temporary Workarounds

Disable wasm-decompile usage

linux

Prevent use of the vulnerable component by removing or restricting access

sudo rm /usr/local/bin/wasm-decompile
chmod 000 /usr/local/bin/wasm-decompile

Use alternative WebAssembly tools

all

Replace wabt with alternative WebAssembly toolkits

🧯 If You Can't Patch

  • Restrict local user access to systems running wabt
  • Implement strict input validation for WebAssembly files processed by wasm-decompile

πŸ” How to Verify

Check if Vulnerable:

Check wabt version: wasm-decompile --version | grep -q '1\.0\.39\|1\.0\.[0-9]\|1\.0\.[0-3][0-9]'

Check Version:

wasm-decompile --version

Verify Fix Applied:

Verify wasm-decompile is not installed or version is above 1.0.39

πŸ“‘ Detection & Monitoring

Log Indicators:

  • Segmentation fault or crash logs from wasm-decompile
  • Unusual memory access patterns in system logs

Network Indicators:

  • None - local exploit only

SIEM Query:

process.name == 'wasm-decompile' AND event.type == 'crash'

πŸ”— References

πŸ“€ Share & Export