boxscore/security
CVE · referencelatest edition

Reference page — cumulative record through Sunday, October 4, 2026 UTC. Reference pages update as the archive grows; only dated daily editions are immutable pages of record.

CVE-2026-90648

WebAssembly wabt — wasm2c in WebAssembly wabt through 1.0.41 allows sandbox escape in some situations that primarily involve 32-bit platforms, aka a "table …
  AV  AC  AT  PR  UI  VC  VI  VA   CVSS    EPSS   %ile   KEV
   L   L   P   N   N   N   H   H    7.1   .0019    7.9     —
AFFECTED
  Product  Versions     Fixed
  wabt     unspecified  —
TIMELINE
  Sep 12  Reserved by mitre
  Sep 12  Published (CNA: mitre)
  Sep 14  EXPLOIT PUBLISHED — CVE-2026-90648 (WebAssembly wabt). Public exploit reference added.
CWE-252 · CNA: mitre · CVSS v4.0 · 5 references · NVD status: Deferred

Description

wasm2c in WebAssembly wabt through 1.0.41 allows sandbox escape in some situations that primarily involve 32-bit platforms, aka a "table flip" attack. It does not check the return value of calloc() in wasm_rt_allocate_funcref_table() (wasm2c/wasm-rt-impl-tableops.inc). When the funcref table allocation fails, table->data is left NULL while table->size keeps the guest-declared element count; thus, bounds checks still pass and table element accesses resolve to absolute memory addresses (i * sizeof(wasm_rt_funcref_t)). This gives arbitrary read and write of host process memory and - via table.get, table.set, and call_indirect - arbitrary code execution, defeating the isolation that wasm2c exists to provide (a full sandbox escape). wasm2c is used as an in-process sandboxing boundary by RLBox and WasmBoxC, including in Firefox, which compiles the Graphite, Hunspell, Ogg, Expat, and Woff2 libraries via wasm2c to contain untrusted font, media, and XML input. Therefore, sandboxing in these applications is potentially affected. Exploitation requires the funcref table allocation to fail, for example under an address-space limit (RLIMIT_AS), on 32-bit hosts, with vm.overcommit_memory=2, or under memory pressure. On 64-bit Linux with default overcommit the allocation succeeds and the defect is not triggered. The wasm2c memory allocator aborts on calloc failure in the same runtime; the table allocator lacks this abort behavior. This was introduced in commit ab9e0b55 (PR #813).

Lifecycle

Complete event history — 3 events, chronological
DateEventDetail
September 12, 2026ReservedReserved by mitre
September 12, 2026PublishedPublished (CNA: mitre)
September 14, 2026EXPLOIT PUBLISHEDEXPLOIT PUBLISHED — CVE-2026-90648 (WebAssembly wabt). Public exploit reference added.

Affected

Affected products and packages — 1 row
VendorProduct / PackageEcosystemVersion introducedFixed
WebAssemblywabt———

Weaknesses

CWE-252

References (5)

Related

Authoritative record: CVE-2026-90648 at cve.org

Vendors: webassembly

Weaknesses: CWE-252

About this page

This is a reference page, not a dated page of record. It assembles the complete lifecycle of CVE-2026-90648 from the CVE Program record, NVD enrichment, the CISA KEV catalog, EPSS, and OSV advisories. The box score's numbers (CVSS, EPSS, KEV status) are current as of Sunday, October 4, 2026 UTC and are re-derived as the archive grows; only dated daily editions are immutable pages of record. The authoritative source for this identifier is cve.org.