CVE-2026-0880
NixOS vulnerability analysis and mitigation

Overview

CVE-2026-0880 is a sandbox escape vulnerability caused by an integer overflow in the Graphics component (CopyToImageSurface) of Mozilla Firefox and Thunderbird. Discovered and reported by external researcher Oskar L (oskarlindberg348), it was publicly disclosed on January 13, 2026. Affected versions include Firefox < 147, Firefox ESR < 115.32, Firefox ESR < 140.7, Thunderbird < 147, and Thunderbird ESR < 140.7. It carries a CVSS v3.1 base score of 8.8 (High) (Mozilla Advisory mfsa2026-01, Mozilla Advisory mfsa2026-02, Mozilla Advisory mfsa2026-03).

Technical details

The root cause is an integer overflow (CWE-190) in the CopyToImageSurface function within gfx/2d/DrawTargetCairo.cpp. Specifically, the multiplication of y (int32) and surfStride (int32) produces an int32 result that is sign-extended before being added to the surfData pointer, causing the __dst argument of memcpy to point backwards into memory — resulting in an out-of-bounds read and write (OOBW/R). Cairo's maximum image surface dimension is 32767, and 32767 * 4 * 32767 = 0xFFFC0004, which overflows to a negative value when treated as a signed 32-bit integer. The vulnerability is reachable via the browser's printing subsystem (e.g., triggered by window.print() invoking DrawTargetCairo::StrokeRect with a crafted SurfacePattern), and affects both desktop and Android builds. The fix involved casting stride arithmetic to size_t to prevent signed integer overflow (Mozilla Bugzilla).

Impact

Successful exploitation allows an attacker to escape the Firefox/Thunderbird browser sandbox, achieving out-of-bounds memory read and write in the browser process. This can lead to full compromise of confidentiality, integrity, and availability of the affected system — enabling arbitrary code execution, access to sensitive user data, and potential for lateral movement beyond the browser sandbox. Both desktop and Android platforms are affected (Mozilla Advisory mfsa2026-01, Mozilla Bugzilla).

Exploitability

No public proof-of-concept exploit code is known to exist, and there is no evidence of in-the-wild exploitation at the time of disclosure (Feedly). The vulnerability requires user interaction — specifically, triggering the browser's print functionality (e.g., via window.print()) — which slightly raises the exploitation bar. The EPSS score is approximately 0.038% (low), and the vulnerability does not appear in the CISA Known Exploited Vulnerabilities (KEV) catalog. The bug was awarded a security bounty by Mozilla, indicating it was assessed as a credible, exploitable issue (Mozilla Bugzilla).

Exploitation steps

  1. Reconnaissance: Identify targets running vulnerable versions of Firefox (< 147, ESR < 115.32 or < 140.7) or Thunderbird (< 147, ESR < 140.7), including Android users.
  2. Craft malicious web page: Create an HTML page that calls window.print() to trigger the browser's print rendering pipeline, which invokes DrawTargetCairo::StrokeRect.
  3. Trigger integer overflow: Supply a crafted SurfacePattern with dimensions near Cairo's maximum (e.g., IntRect(0, 0, 0x7fff, 0x7fff)) so that the y * surfStride multiplication in CopyToImageSurface overflows a signed 32-bit integer, producing a negative offset.
  4. Achieve out-of-bounds memory access: The negative offset causes memcpy's destination pointer to reference memory before the allocated surface buffer, enabling both out-of-bounds read and write in the browser process.
  5. Escape sandbox: Leverage the OOB write primitive to corrupt browser process memory structures, bypassing the Firefox content process sandbox and achieving code execution in the browser process context (Mozilla Bugzilla, Mozilla Advisory mfsa2026-01).

Indicators of compromise

  • Process Behavior: Unexpected child processes spawned by the Firefox or Thunderbird process (e.g., shell processes, network utilities) following a print operation.
  • Logs: Browser crash reports or AddressSanitizer-style heap-buffer-overflow errors referencing CopyToImageSurface or DrawTargetCairo.cpp in crash telemetry.
  • Network: Unusual outbound connections from the browser process to unknown external IPs immediately after a print dialog is triggered on a web page.
  • File System: Unexpected files written to temporary directories or the user profile directory by the browser process following print activity.
  • Memory: ASAN reports indicating heap-buffer-overflow in mozilla::gfx::CopyToImageSurface or mozilla::gfx::DrawTargetCairo::StrokeRect (Mozilla Bugzilla).

Mitigation and workarounds

Mozilla has released patched versions addressing this vulnerability: Firefox 147, Firefox ESR 115.32, Firefox ESR 140.7, Thunderbird 147, and Thunderbird ESR 140.7. Users should update immediately to one of these versions. As a temporary workaround prior to patching, organizations may consider restricting user access to untrusted websites and disabling JavaScript where feasible, which would prevent window.print() from being called by malicious pages. Downstream Linux distributions (Red Hat, Debian, SUSE, Rocky Linux, AlmaLinux, Amazon Linux) have also released updated packages (Mozilla Advisory mfsa2026-01, Mozilla Advisory mfsa2026-02, Mozilla Advisory mfsa2026-03).

Community reactions

The CIS (Center for Internet Security) issued an advisory noting that multiple vulnerabilities in Mozilla products, including CVE-2026-0880, could allow for arbitrary code execution. Security news outlets including CyberSecurityNews and CyberNoz covered the Firefox 147 release, highlighting the 16 vulnerabilities fixed including this sandbox escape. The vulnerability was awarded a Mozilla security bounty, reflecting its significance. No notable threat actor attribution or widespread social media controversy has been observed in connection with this CVE.

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

bookworm

thunderbird: 1:140.7.0esr-1~deb12u1

Fixed

sid

thunderbird: 1:140.7.0esr-1

Fixed

trixie

thunderbird: 1:140.7.0esr-1~deb13u1

Fixed

Ubuntu

Fixed

bionic (esm-apps)

mozjs38

Unknown

devel

firefox

Not Affected

jammy

thunderbird: 1:140.7.1+build1-0ubuntu0.22.04.1

Fixed

noble

firefox

Not Affected

questing

firefox

Not Affected

resolute

firefox

Not Affected

RHEL / CentOS

Fixed

RHEL 8

:appstream:firefox-0:140.7.0-1.el8_10.src

Fixed

RHEL 9

:appstream:firefox-0:140.7.0-1.el9_0.src

Fixed

RHEL 10

firefox-0:140.7.0-1.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