
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-0878 is a sandbox escape vulnerability caused by incorrect boundary conditions in the Graphics: CanvasWebGL component of Mozilla Firefox and Thunderbird. Specifically, it is an out-of-bounds read due to a missing size check on shared memory when processing WebGL texture uploads. The vulnerability was reported by security researcher Oskar L, disclosed on January 13, 2026, and fixed in Firefox 147, Firefox ESR 140.7, Thunderbird 147, and Thunderbird 140.7. It carries a CVSS v3.1 base score of 8.0 (High) (Mozilla Advisory mfsa2026-01, Mozilla Advisory mfsa2026-03, Feedly).
The root cause is improper input validation and improper restriction of operations within the bounds of a memory buffer (CWE-20, CWE-119) in SourceSurfaceSharedDataWrapper::Init. When a texture is uploaded via WebGL using an external shared surface (shared memory), the len parameter passed to EnsureMapped is not validated to ensure the mapped region encompasses the declared surface dimensions. This allows a malicious renderer process to declare a surface with dimensions larger than the actual shared memory allocation. During texture conversion in ConvertImage, a memcpy loop iterates based on the declared height and srcStride, reading beyond the mapped shared memory region into adjacent browser-process memory. The regression was introduced by Bug 1942129, which changed EnsureMapped to no longer enforce the length constraint. A proof-of-concept patch and reproduction HTML page were included in the bug report, demonstrating the out-of-bounds read via gl.texImage2D with an ImageBitmap and Y-flip enabled (Mozilla Bugzilla).
Successful exploitation allows a compromised renderer (content) process to read out-of-bounds memory in the browser (parent) process, constituting a sandbox escape. This results in high confidentiality impact (browser process memory disclosure) and high integrity impact (potential for further exploitation leveraging the information leak), with no direct availability impact. An attacker who already controls the renderer process — for example, via a separate content-process vulnerability — could chain this bug to fully escape the Firefox sandbox and compromise the underlying operating system or access sensitive data from other browser processes (Mozilla Advisory mfsa2026-01, Mozilla Bugzilla).
No public exploit code or weaponized exploit kit has been identified for CVE-2026-0878 as of the time of this report. The vulnerability requires user interaction (visiting a malicious web page) and high attack complexity, as it is most useful as a second-stage exploit chained with a content-process compromise. There is no evidence of in-the-wild exploitation, no CISA KEV catalog listing, and no known threat actor attribution. The EPSS score is approximately 0.043%, indicating low near-term exploitation probability (Feedly, Mozilla Bugzilla).
SourceSurfaceSharedData object with a small actual shared memory allocation (e.g., 0x1000 bytes) but declare a much larger surface size (e.g., width=0x1000, height=10, stride=width*4).SharedSurfacesChild::Share to register the undersized shared memory region with the browser process under a valid ExternalImageId.SurfaceDescriptorExternalImage referencing the malicious surface and send a TexImage IPC message to the browser process with flipY=true and applyUnpackTransforms=true to force the ConvertImage code path.SourceSurfaceSharedDataWrapper::Init without validating that the mapped length covers the declared dimensions, then ConvertImage iterates memcpy calls reading srcStride * height bytes — far beyond the actual 0x1000-byte allocation — leaking adjacent browser-process memory.memcpy or ConvertImage in stack traces.mozilla::ConvertImage, TexUnpackBlob::ConvertIfNeeded, WebGLParent::RecvTexImage, or SourceSurfaceSharedDataWrapper::Init in stack traces; crash dumps from plugin-container or firefox processes with out-of-bounds read signatures.Mozilla has released patched versions addressing this vulnerability: Firefox 147, Firefox ESR 140.7, Thunderbird 147, and Thunderbird ESR 140.7. The fix adds a proper bounds check in SourceSurfaceSharedDataWrapper::Init to validate that the mapped shared memory region is sufficient for the declared surface dimensions before use. No configuration-based workaround is available; upgrading to a patched version is the only recommended remediation. Organizations using enterprise-managed Firefox deployments should prioritize this update given the sandbox escape severity (Mozilla Advisory mfsa2026-01, Mozilla Advisory mfsa2026-03).
The Center for Internet Security (CIS) issued an advisory noting that multiple vulnerabilities in Mozilla products, including CVE-2026-0878, could allow for arbitrary code execution, recommending immediate patching (CIS Advisory). Red Hat issued multiple errata (RHSA-2026:0667, RHSA-2026:0694, and others) for affected Firefox and Thunderbird packages across RHEL versions. Security news outlets including CyberSecurityNews and CyberNoz covered the Firefox 147 release, highlighting the 16 vulnerabilities fixed including sandbox escapes. The vulnerability received a bug bounty award from Mozilla, as indicated by the sec-bounty+ flag in the Bugzilla report (Mozilla Bugzilla).
Fix availability across major Linux distributions and their releases.
bookworm
thunderbird: 1:140.7.0esr-1~deb12u1
sid
thunderbird: 1:140.7.0esr-1
trixie
thunderbird: 1:140.7.0esr-1~deb13u1
bionic (esm-apps)
mozjs38
devel
firefox
jammy
thunderbird: 1:140.7.1+build1-0ubuntu0.22.04.1
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."