CVE-2026-2768
NixOS vulnerability analysis and mitigation

Overview

CVE-2026-2768 is a sandbox escape vulnerability in the Storage: IndexedDB component of Mozilla Firefox and Thunderbird, allowing a compromised content process to achieve an arbitrary relative heap write in the parent process. It was discovered by security researcher Sajeeb Lohani and publicly disclosed on February 24, 2026, as part of Mozilla's coordinated release of Firefox 148 and Firefox ESR 140.8. Affected versions include Firefox below 148, Firefox ESR below 140.8, Thunderbird below 148, and Thunderbird ESR below 140.8. The vulnerability carries a CVSS v3.1 base score of 10.0 (Critical) (Mozilla Advisory MFSA2026-13, Mozilla Advisory MFSA2026-15, Feedly).

Technical details

The root cause is improper access control and protection mechanism failure (CWE-284, CWE-693) in the IPC deserialization of the IndexedDB Key class. In dom/indexedDB/SerializationHelpers.h (lines 36–39), the mAutoIncrementKeyOffsets array is deserialized from IPC messages without any bounds validation against the associated mBuffer length. A compromised content process can forge an ObjectStoreAddParams IPC message containing a Key with a small mBuffer (e.g., 4 bytes) and an arbitrarily large mAutoIncrementKeyOffsets value (e.g., 0x1000). When the parent process calls Key::MaybeUpdateAutoIncrementKey in ActorsParent.cpp during DoDatabaseWork, it writes 8 bytes at mBuffer.Data() + target_offset with no bounds check, enabling an arbitrary relative heap write in the unsandboxed parent process. Additionally, VerifyRequestParams in ActorsParent.cpp never validates mAutoIncrementKeyOffsets, and an inverted aTrustParams condition in AllocCursor causes cross-process content callers to skip key range validation entirely (Mozilla Bugzilla).

Impact

Successful exploitation allows a compromised content process to escape the Firefox sandbox by corrupting arbitrary heap memory in the parent process, which is not sandboxed on many platforms. This can lead to full compromise of the host system, including unauthorized access to sensitive data (high confidentiality impact), modification of system integrity (high integrity impact), and disruption of availability (high availability impact). The changed scope means the impact extends beyond the browser sandbox to the underlying operating system, enabling potential lateral movement or persistent access (Mozilla Advisory MFSA2026-13, Feedly).

Exploitability

Exploitation requires a pre-compromised content process (e.g., via a separate browser vulnerability), making it a second-stage attack primitive rather than a standalone remote exploit. No public proof-of-concept exploit code has been observed, and there is no evidence of in-the-wild exploitation at the time of disclosure (Feedly). The EPSS score is approximately 0.018% (0.000180), reflecting low current exploitation probability. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The attack vector is network-based with low complexity and requires no user interaction or privileges once the content process is compromised, per the CVSS scoring (Mozilla Bugzilla).

Exploitation steps

  1. Gain content process compromise: Exploit a separate browser vulnerability (e.g., a JavaScript engine bug) to achieve code execution within a Firefox content process sandbox.
  2. Set up IndexedDB environment: Using normal web APIs from the compromised content process, open an IndexedDB database with an auto-increment object store that has at least one index (e.g., store.createIndex('idx_a', 'a')).
  3. Forge a malicious IPC message: Craft an ObjectStoreAddParams IPC message containing a Key object with a small mBuffer (e.g., 4 bytes: "AAAA") and a large, attacker-controlled mAutoIncrementKeyOffsets value (e.g., [0x1000]) using ParamTraits serialization.
  4. Send the forged message to the parent process: Transmit the crafted IPC message. The parent process deserializes the Key via ParamTraits<Key>::Read in SerializationHelpers.h without validating offsets against buffer bounds, and VerifyRequestParams does not check mAutoIncrementKeyOffsets.
  5. Trigger the OOB write: The parent process calls Key::MaybeUpdateAutoIncrementKey during DoDatabaseWork, writing 8 bytes (the IEEE 754 encoding of the auto-increment counter value, e.g., 0xBFF0000000000000 for counter=1) at mBuffer.Data() + 0x1000, corrupting arbitrary heap memory in the parent process.
  6. Achieve sandbox escape: Leverage the heap corruption primitive (fully controlled offset, 8-byte write per IPC message, multiple offsets possible) to overwrite security-critical data structures, function pointers, or vtables in the parent process to gain arbitrary code execution outside the sandbox (Mozilla Bugzilla).

Indicators of compromise

  • Process: Unusual child processes spawned by the Firefox parent process (e.g., cmd.exe, /bin/sh, powershell.exe) that are not typical browser subprocesses.
  • Logs: Crash reports or ASAN logs referencing heap-buffer-overflow WRITE of size 8 in Key::MaybeUpdateAutoIncrementKey or Key::WriteDoubleToUint64 in Firefox/Thunderbird crash telemetry.
  • Network: Unexpected outbound connections from the Firefox/Thunderbird parent process to external IPs, particularly shortly after IndexedDB activity.
  • File System: Unexpected files written to disk by the Firefox parent process outside of its normal profile directories; new scheduled tasks or persistence mechanisms created under the browser's user account.
  • Memory: ASAN or heap-monitoring tools reporting out-of-bounds writes originating from dom/indexedDB/Key.cpp around the MaybeUpdateAutoIncrementKey function.

Mitigation and workarounds

Mozilla has released patched versions addressing this vulnerability: Firefox 148, Firefox ESR 140.8, Thunderbird 148, and Thunderbird ESR 140.8. Organizations should immediately update all affected installations to these minimum versions. No configuration-based workaround is available; upgrading is the only remediation. Downstream Linux distributions (Red Hat, Debian, SUSE, Rocky Linux, AlmaLinux, Oracle Linux, Slackware, Amazon Linux) have also released updated packages (Mozilla Advisory MFSA2026-13, Mozilla Advisory MFSA2026-15).

Community reactions

The vulnerability was reported by security researcher Sajeeb Lohani and received a Mozilla security bounty. Mozilla classified it as sec-high and awarded a client bug bounty. Coverage appeared in security-focused outlets such as CyberInsider, which noted the sandbox escape fixes alongside Firefox 148's new AI kill-switch feature. The bug was also flagged with the ai-involved keyword in Mozilla's Bugzilla, indicating AI tooling was used in some aspect of the research or triage process (Mozilla Bugzilla, CyberInsider).

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

bookworm

thunderbird: 1:140.8.0esr-1~deb12u1

Fixed

sid

thunderbird: 1:140.8.0esr-1

Fixed

trixie

thunderbird: 1:140.8.0esr-1~deb13u1

Fixed

Ubuntu

Affected

bionic (esm-apps)

mozjs38

Unknown

devel

firefox

Not Affected

jammy

thunderbird

Affected

noble

firefox

Not Affected

questing

firefox

Not Affected

resolute

firefox

Not Affected

RHEL / CentOS

Fixed

RHEL 8

:appstream:firefox-0:140.8.0-2.el8_10.src

Fixed

RHEL 9

:appstream:firefox-0:140.8.0-2.el9_0.src

Fixed

RHEL 10

firefox-0:140.8.0-2.el10_0.src

Fixed

SourceThis report was generated using AI

Related NixOS vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-86738CRITICAL9.3
  • NixOS logoNixOS
  • snipe-it
NoYesSep 08, 2026
CVE-2026-86734HIGH7.1
  • NixOS logoNixOS
  • snipe-it
NoYesSep 08, 2026
CVE-2026-86735MEDIUM5.9
  • NixOS logoNixOS
  • snipe-it
NoYesSep 08, 2026
CVE-2026-86737MEDIUM5.3
  • NixOS logoNixOS
  • snipe-it
NoYesSep 08, 2026
CVE-2026-86736MEDIUM5.3
  • NixOS logoNixOS
  • snipe-it
NoYesSep 08, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management