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).
CVE-2026-90648
This high-severity CVE scores 7.1 under a secondary CVSS source (NVD's own analysis pending). EPSS exploit probability: 0.1%, top 95% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).
- High severity, but no confirmed exploitation yet
No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.
- CVSS v3
- 7.1
- EG Score
- 7.1(medium)
- EG Risk
- 48(Track)EG Risk 48/100SSVC: Track
EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).
How it’s computedSeverity71% × 45%Exploitation40% × 40%Automatability0% × 15%Action: Routine — remediate on your standard cadence. - EPSS PROB
- 0%
- EPSS %ILE
- 5%
- KEV
- Not listed
Published
September 12, 2026
Last Modified
September 14, 2026
Advisory Details (4)
Auto-updated Sep 12, 20261827704 - Migrate to the upstream wasm2c for RLBox sandboxing
https://bugzilla.mozilla.org/show_bug.cgi?id=1827704GitHub - WebAssembly/wabt: The WebAssembly Binary Toolkit · GitHub
https://github.com/WebAssembly/wabtGitHub - trustsig-eu/wasm2c-tableflip: wasm2c sandbox escape. An untrusted WebAssembly module breaks out of the generated C sandbox and executes an arbitrary shell command on the host. · GitHub
https://github.com/trustsig-eu/wasm2c-tableflipVendor Advisories for CVE-2026-90648(1)
These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.
Weakness Classification(1)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Data Freshness Timeline
(refreshed 28× in last 7d / 28× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
- 2026-09-19 01:40 UTCEG score recompute
- 2026-09-19 01:40 UTCGHSA enrichment
- 2026-09-18 19:28 UTCEPSS rescore
- 2026-09-18 12:46 UTCGHSA enrichment
- 2026-09-17 23:52 UTCEG score recompute
- 2026-09-17 23:52 UTCGHSA enrichment
- 2026-09-17 19:32 UTCEPSS rescore
- 2026-09-17 10:37 UTCGHSA enrichment
- 2026-09-16 21:43 UTCEG score recompute
- 2026-09-16 21:43 UTCGHSA enrichment
- 2026-09-16 14:09 UTCEPSS rescore
- 2026-09-16 08:49 UTCEG score recompute
- 2026-09-16 08:49 UTCGHSA enrichment
- 2026-09-16 05:15 UTCEPSS rescore
- 2026-09-15 19:17 UTCGHSA enrichment
- 2026-09-15 06:22 UTCEG score recompute
- 2026-09-15 06:22 UTCGHSA enrichment
- 2026-09-15 03:12 UTCEPSS rescore
- 2026-09-14 17:28 UTCEG score recompute
- 2026-09-14 17:28 UTCGHSA enrichment
- 2026-09-14 16:20 UTCEG score recompute
- 2026-09-14 16:20 UTCGHSA enrichment
- 2026-09-14 15:01 UTCGHSA enrichment
- 2026-09-14 02:07 UTCGHSA enrichment
- 2026-09-13 13:13 UTCGHSA enrichment
Show 3 moreShow fewer
- 2026-09-13 00:19 UTCEG score recompute
- 2026-09-12 23:22 UTCEG score recompute
- 2026-09-12 23:22 UTCMITRE cvelistV5first tracked
Frequently asked(5)
What is CVE-2026-90648?
When was CVE-2026-90648 disclosed?
Is CVE-2026-90648 actively exploited?
What is the CVSS score of CVE-2026-90648?
How do I remediate CVE-2026-90648?
Dependency Blast Radius
Explore the affected products and dependency analysis for CVE-2026-90648
Is Your Infrastructure Affected by CVE-2026-90648?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.