CVE-2025-15413
Memory Corruption in wasm3 op_SetSlot_i32/op_CallIndirect Functions
Publication date: 2026-01-01
Last updated on: 2026-04-29
Assigner: VulDB
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| wasm3 | wasm3 | to 0.5.0 (inc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-119 | The product performs operations on a memory buffer, but it reads from or writes to a memory location outside the buffer's intended boundary. This may result in read or write operations on unexpected memory locations that could be linked to other variables, data structures, or internal program data. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
CVE-2025-15413 is a memory corruption vulnerability in Wasm3 up to version 0.5.0, affecting the functions op_SetSlot_i32 and op_CallIndirect in the file m3_exec.h. The vulnerability occurs due to insufficient bounds checking, leading to out-of-bounds memory reads and writes. Specifically, op_CallIndirect performs indirect function calls using an index into a function table without proper validation, causing segmentation faults from invalid memory access. Similarly, op_SetSlot_i32 writes 32-bit integer values into slots on the WebAssembly interpreter stack without validating slot indices or stack boundaries, resulting in out-of-bounds writes. These flaws cause crashes (segmentation faults) and memory corruption, potentially allowing arbitrary code execution. The issue requires local access to exploit and is reproducible with provided test cases. [1, 2, 3, 5]
How can this vulnerability impact me? :
This vulnerability can lead to memory corruption in the Wasm3 interpreter, causing crashes (segmentation faults) and potentially allowing an attacker to execute arbitrary code. Since the vulnerability involves out-of-bounds reads and writes, it compromises the confidentiality, integrity, and availability of the system running Wasm3. The exploit requires local access but is easy to execute, and a public proof-of-concept exploit is available. Because the project currently has no active maintainer and no mitigations are published, affected users face a significant security risk, especially in production environments. [3, 4, 5]
How can this vulnerability be detected on my network or system? Can you suggest some commands?
The vulnerability can be detected by reproducing the issue using the provided test case with the command `./wasm3 repro`. Detection involves observing a segmentation fault (SEGV) caused by memory access violations in the functions op_CallIndirect or op_SetSlot_i32. The use of AddressSanitizer (ASAN) is recommended to identify the memory corruption during execution, as it reports the faulting addresses and stack traces pinpointing the vulnerability. [1, 2, 3, 5]
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include restricting local access to systems running the vulnerable Wasm3 versions, as the attack requires local access. Since the project currently has no active maintainer and no known patches or countermeasures are available, users are advised to consider replacing Wasm3 with alternative products to avoid exploitation. Monitoring for exploitation attempts and limiting user privileges can also help reduce risk. [4]