CVE-2026-58592CWE-787CWE-825CWE-843

CVE-2026-58592

High · published July 2, 2026

CVSS v3.1
8.3
EPSS
1%
Percentile
45.2
In the wild
Unconfirmed
What it is

Ladybird before commit 2f9dc7e contains a dangling-reference memory-safety flaw in its WebAssembly ESM-integration module loader. When a JavaScript function is imported into a WebAssembly module via the ESM path, WebAssemblyModule.cpp passes a stack-local Wasm::FunctionType by reference to create_host_function, whose host callback captures and later reads that reference; once the ESM link-loop iteration ends the FunctionType is destroyed, leaving the callback with a dangling reference (the normal instantiate path uses a long-lived reference and is not affected). Stale result-type data lets the host callback return an empty result vector for a statically non-empty result, so the destination register retains an attacker-influenced value that is then consumed by the WASM-GC array.set handler, which bit-casts the reference low bits to an ArrayInstance pointer after only a null check, yielding an arbitrary write. A web page can chain this into code execution in the WebContent process. Verified reachable from HTML content without any instrumentation or source modification.

The record
Technical detail
CVSS v3.1
8.3 · HIGH
Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00549 · 45.2th percentile
Weaknesses
CWE-787 · Out-of-bounds Write; CWE-825 · Expired Pointer Dereference; CWE-843 · Access of Resource Using Incompatible Type ('Type Confusion')
Published
2026-07-02T00:17Z
References (5)
EPSS history
Timeline
  • 01 JUL 19:27Z
    Ladybird - Web-Reachable Code Execution via Dangling FunctionType Reference in WebAssembly ESM Integration
    cvelistv5