CVE-2025-15572

3.3 LOW

📋 TL;DR

A memory leak vulnerability exists in wasm3 WebAssembly interpreter versions up to 0.5.0 in the NewCodePage function. This allows local attackers to gradually exhaust system memory, potentially causing denial of service. The vulnerability affects systems running wasm3 with untrusted WebAssembly code execution.

💻 Affected Systems

Products:
  • wasm3 WebAssembly interpreter
Versions: All versions up to and including 0.5.0
Operating Systems: All platforms where wasm3 runs (Linux, Windows, macOS, embedded systems)
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability requires execution of malicious WebAssembly code. Systems using wasm3 to execute untrusted WebAssembly are at risk.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system memory exhaustion leading to denial of service, application crashes, and potential system instability affecting other services.

🟠

Likely Case

Gradual memory consumption causing performance degradation and eventual application crashes in affected wasm3 instances.

🟢

If Mitigated

Minimal impact if proper memory limits and monitoring are in place, with only isolated application crashes.

🌐 Internet-Facing: LOW - Attack requires local access to execute malicious WebAssembly code.
🏢 Internal Only: MEDIUM - Internal users with access to execute WebAssembly code could cause denial of service to affected applications.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Proof of concept available in GitHub repository. Exploitation requires ability to execute WebAssembly code locally. Project currently has no active maintainer.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: None - project has no active maintainer

Vendor Advisory: https://github.com/wasm3/wasm3/issues/550

Restart Required: No

Instructions:

No official patch available. Consider migrating to alternative WebAssembly runtimes or implementing workarounds.

🔧 Temporary Workarounds

Memory usage monitoring and limits

all

Implement memory usage monitoring and hard limits for wasm3 processes to prevent complete memory exhaustion

Use ulimit -v [memory_limit_in_kb] for Linux systems
Implement container memory limits for Docker deployments

Restrict WebAssembly code execution

all

Only allow execution of trusted, verified WebAssembly code in wasm3 environments

🧯 If You Can't Patch

  • Isolate wasm3 instances in containers with strict memory limits
  • Implement aggressive monitoring and alerting for abnormal memory consumption patterns
  • Consider migrating to maintained WebAssembly runtimes like Wasmtime or WAMR

🔍 How to Verify

Check if Vulnerable:

Check wasm3 version: if version is 0.5.0 or earlier, system is vulnerable. Test with provided PoC from GitHub repository.

Check Version:

wasm3 --version or check build/installation documentation for version information

Verify Fix Applied:

No official fix available. Verify workarounds by testing memory consumption with malicious WebAssembly code.

📡 Detection & Monitoring

Log Indicators:

  • Abnormal memory consumption patterns in wasm3 processes
  • Application crashes with out-of-memory errors
  • Repeated WebAssembly module loading failures

Network Indicators:

  • None - local vulnerability only

SIEM Query:

Process memory usage > threshold AND process_name contains 'wasm3'

🔗 References

📤 Share & Export