PT-2026-125069
Published
2026-10-16
·
Updated
2026-10-16
Description by
Score
N/A
Not availableNo severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
On wasm32, zstd-sys provides
malloc and free to the C library through a
shim over Rust's allocator. The shim did not check for allocation failure:
it wrote its size header to address 0 and returned address 4, which the C
library used as a valid buffer. free(NULL) also read below address 0.Whenever the instance cannot grow its memory by what a frame asks for, a
small crafted frame (a 9-byte header declaring a 128 MiB window is enough)
made decompression write decoded data over the bottom of the module's
linear memory, instead of failing. The corruption stays within the wasm
sandbox.
The flaw was corrected by returning NULL on allocation failure or size
overflow, and by making
free(NULL) a no-op.Vendors
Affected products
Related identifiers
Found an issue in the description? Have something to add? Feel free to write us 👾