
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-2767 is a use-after-free vulnerability in the JavaScript/WebAssembly component of Mozilla Firefox and Thunderbird, specifically in SpiderMonkey's baseline compiler for WebAssembly GC array.fill operations. Discovered and reported by security researcher Sajeeb Lohani, it was publicly disclosed on February 24, 2026. Affected products include Firefox prior to version 148, Firefox ESR prior to 140.8, Thunderbird prior to 148, and Thunderbird ESR prior to 140.8. It carries a CVSS v3.1 base score of 9.8 (Critical) (Mozilla Advisory MFSA2026-13, Mozilla Advisory MFSA2026-15).
The root cause is a missing pre-write barrier in the baseline compiler's emitArrayFill() function in WasmBaselineCompile.cpp (lines 8816–8817), classified as CWE-416 (Use After Free). SpiderMonkey's incremental garbage collector uses a snapshot-at-the-beginning tricolor invariant: when a reference-typed field is overwritten, a pre-write barrier must inform the GC of the old value before it is lost. The baseline compiler's array.fill implementation incorrectly used PreBarrierKind::None instead of PreBarrierKind::Normal, meaning the GC was not notified when existing live references in a WasmGC array were overwritten. This allowed the GC to prematurely collect a live object (the "victim"), leaving dangling references that could be accessed after the memory was freed and reallocated. The Ion compiler's array.fill and the baseline compiler's array.set both correctly used the normal pre-barrier; the omission was specific to baseline array.fill introduced in Bug 1851864 (commit ca4c7a8b7621, 2023-09-26). The bug is reachable from web content via WasmGC, enabled by default since Firefox 120 (Mozilla Bugzilla).
Successful exploitation can result in complete compromise of the affected Firefox or Thunderbird content process, with high impact to confidentiality, integrity, and availability. An attacker who achieves use-after-free can read from or write to freed heap memory, enabling potential remote code execution within the browser's content process sandbox. This could allow unauthorized access to sensitive data displayed in the browser, modification of in-memory data structures, or application crash. Further exploitation via heap grooming could serve as a stepping stone toward sandbox escape when chained with other vulnerabilities (Mozilla Bugzilla, Mozilla Advisory MFSA2026-13).
No public proof-of-concept exploit or evidence of in-the-wild exploitation has been reported as of the disclosure date (Feedly). The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The EPSS score is approximately 0.018% (0.000180), indicating a low current probability of exploitation in the wild. Mozilla's internal assessment noted that exploitation would be "relatively difficult" due to the need for precise GC timing control and heap grooming, and the bug only affects the baseline compilation tier (before Ion tier-up occurs). A PoC script was included in the original bug report to demonstrate the invariant violation using debug shell GC APIs, but it was not reliably reproducible as a crash without specific GC slice timing (Mozilla Bugzilla).
(array (mut anyref))), struct types for victim and holder objects, and an array.fill function that overwrites reference-typed slots with null.array.fill: Call the exported triggerBug function: read the victim from the array, store it into the holder struct (creating a black→white edge), then call array.fill with null to overwrite all array slots. Because the pre-barrier is missing, the GC is not informed of the overwritten references.holder.field0 — it now points to freed/reused memory, yielding corrupted data or a crash, which can be leveraged for further exploitation (Mozilla Bugzilla).firefox, firefox-bin, thunderbird) potentially accompanied by crash reports referencing WebAssembly or GC-related stack frames.WasmBaselineCompile.cpp, emitArrayFill, or SpiderMonkey GC verifier assertion failures such as [barrier verifier] Unmarked edge..wasm) payloads from untrusted or unexpected origins, particularly those defining WasmGC array types with array.fill instructions targeting reference-typed elements..dmp, minidump) generated in the Firefox profile directory or system temp folder following visits to untrusted web content.Mozilla has released patches addressing this vulnerability in Firefox 148, Firefox ESR 140.8, Thunderbird 148, and Thunderbird ESR 140.8. Organizations should immediately upgrade all affected installations to these minimum versions. No configuration-based workaround is available for production use; disabling WebAssembly entirely would mitigate the risk but is not practical for most deployments. Prioritize patching systems where Firefox or Thunderbird is exposed to untrusted web content or email (Mozilla Advisory MFSA2026-13, Mozilla Advisory MFSA2026-15).
Mozilla awarded a security bounty to the reporter, Sajeeb Lohani, and classified the vulnerability as sec-high internally. The bug was also flagged with the ai-involved keyword, noting AI assistance in the research process. Multiple Linux distribution vendors (Red Hat, Debian, SUSE, AlmaLinux, Rocky Linux, Oracle Linux, Slackware, Amazon Linux) issued downstream security advisories and updated packages shortly after Mozilla's disclosure. Vulnerability scanners including Nessus and Qualys added detection plugins within days of the advisory (Mozilla Bugzilla).
Fix availability across major Linux distributions and their releases.
bookworm
thunderbird: 1:140.8.0esr-1~deb12u1
sid
thunderbird: 1:140.8.0esr-1
trixie
thunderbird: 1:140.8.0esr-1~deb13u1
bionic (esm-apps)
mozjs38
devel
firefox
jammy
thunderbird
noble
firefox
questing
firefox
resolute
firefox
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."