CVE-2026-4460 Skia Bug: High Out-of-Bounds Read Fixed in Chrome 146

  • Thread Author
Google’s latest security advisory for CVE-2026-4460 is a reminder that even mature browser engines can still be tripped up by a single memory-safety flaw. The issue is an out-of-bounds read in Skia, the graphics library used by Chrome, and Google says it affected Chrome versions prior to 146.0.7680.153 when a user visited a crafted HTML page. The vulnerability is rated High in Chromium’s own severity framework, and it matters because browser bugs that expose memory contents can become launch points for broader exploitation chains.

Overview​

Chrome security disclosures in March 2026 have painted a very clear picture: the browser ecosystem is still under sustained pressure from memory corruption bugs spanning rendering, graphics, audio, WebRTC, and JavaScript engine code. In the March 18, 2026 stable release notes, Google listed 26 security fixes for Chrome 146.0.7680.153/154, including CVE-2026-4460 for Skia, alongside a dense cluster of other high-severity issues in V8, Blink, WebGL, ANGLE, PDFium, and WebRTC. That release sits on top of a month that already saw multiple Chrome security updates, including the March 12 stable update and a March 10 promotion to Chrome 146 on the stable channel. (chromereleases.googleblog.com)
What makes Skia particularly important is that it is not an obscure add-on. It is a core graphics stack used broadly in Chromium-based browsers and related products, so bugs in Skia tend to sit close to the browser’s rendering hot path. That means an attacker does not need to target a niche feature; they can potentially exploit flaws via ordinary-looking web content, which is exactly why “crafted HTML page” disclosures are so concerning in browser security. The vulnerability class here is CWE-125 out-of-bounds read, which often maps to information disclosure, process crash, or memory exposure that can help later-stage exploitation. (chromereleases.googleblog.com)
The timing also matters. Google’s release notes show that Chrome’s patch cadence in March 2026 has been rapid and layered: an early stable build, then a stable promotion, then a substantial security cleanup on March 18. That cadence is typical of a browser vendor trying to close a wide attack surface quickly, but it also shows how attackers and researchers continue to find ways into the same core subsystems. In other words, this is not a one-off bug; it is part of an ongoing contest over the browser’s most security-sensitive code paths.

Why this CVE stands out​

The wording of the advisory suggests a remote attacker could trigger the flaw simply by steering a victim to a malicious page. That makes the issue especially relevant for enterprises, because the attack vector is not dependent on a downloaded file, local access, or special privileges. It is the classic browser threat model: one click, one tab, one render path, and potentially a compromised session. (chromereleases.googleblog.com)
  • The bug is in Skia, Chrome’s graphics layer.
  • The trigger is a crafted HTML page.
  • The flaw is an out-of-bounds read, not a write.
  • The fixed version is 146.0.7680.153.
  • Chromium classifies the issue as High severity. (chromereleases.googleblog.com)

Background​

Skia has long been one of the most security-relevant components in Chromium because it sits in the rendering pipeline where external input becomes pixels on a screen. That is a dangerous place to live from a security perspective, because every image, font, SVG, canvas operation, and HTML rendering path can become a parser or memory-management problem if a boundary check slips. Browser engines are increasingly hardened, but graphics code remains a perennial source of exploitable memory bugs. (chromereleases.googleblog.com)
The March 2026 Chrome release notes are notable because they include not just one graphics bug but several across adjacent rendering subsystems. In the same March 18 build that carries CVE-2026-4460, Google also patched high-severity issues in WebGL, WebAudio, ANGLE, Blink, WebRTC, V8, and Navigation. That breadth suggests the browser’s attack surface is under stress from both external research and internal hardening work, and it underscores why vendors like Google increasingly treat browser updates as security operations rather than simple feature maintenance. (chromereleases.googleblog.com)
Historically, Chrome has leaned heavily on a release model that keeps bug details partially restricted until most users are protected. Google explicitly repeats that policy in the release notes for March 18, saying access to details may be kept restricted until the majority of users are updated. That approach is designed to reduce the chance that attackers weaponize a publicly disclosed bug before patch adoption has had time to spread. It is also a tacit acknowledgment that browser vulnerabilities often have a very short shelf life once published. (chromereleases.googleblog.com)
Another important backdrop is the recurring pattern of Skia-related findings. In the March 12 stable release, Google patched CVE-2026-3909, an out-of-bounds write in Skia, and then six days later shipped CVE-2026-4460, an out-of-bounds read in Skia. That does not prove a single code defect is being reused, but it does show that the graphics stack remains an active target and that both read and write flaws in neighboring code are being discovered in close succession. That is not unusual in large rendering engines, but it is a warning sign all the same. (chromereleases.googleblog.com)

Skia’s role in Chromium​

Skia is deeply embedded in browser rendering, which means a bug in this layer can affect the way pages are painted, decoded, composited, or displayed. From an attacker’s perspective, that’s attractive because the malicious input can be delivered over the web, and the victim does not need to enable a plugin or run an executable. From a defender’s perspective, it means the browser’s rendering stack must be treated as trusted code parsing untrusted content, which is a brutally difficult engineering problem. (chromereleases.googleblog.com)
  • Rendering code sees constant untrusted input.
  • Graphics bugs are often hard to reason about.
  • Read bugs can leak sensitive memory content.
  • Read bugs sometimes precede full exploit chains.
  • Browser vendors rely on sandboxing and mitigations to contain damage. (chromereleases.googleblog.com)

What Google actually fixed​

Google’s release note for March 18 is blunt: CVE-2026-4460 is a High severity out-of-bounds read in Skia, reported by a researcher identified as c6eed09fc8b174b0f3eebedcceb1e792 on March 6, 2026. The stable channel build carrying the fix is 146.0.7680.153/154 for Windows and Mac and 146.0.7680.153 for Linux. Google also lists the issue in the March 18 stable release’s security section alongside 25 other fixes, which signals that this was part of a large patch bundle rather than a standalone emergency hotfix. (chromereleases.googleblog.com)

The release timeline​

The sequence matters because it helps readers understand how long the vulnerable window lasted. Chrome 146 was promoted to stable on March 10, 2026, the browser received an update on March 12, and then Google issued the much larger patch set on March 18 that includes CVE-2026-4460. NVD’s record shows the CVE was published on March 19, 2026, with NIST’s enrichment and change history following on March 20. That means the public timeline moved from disclosure to vendor patch to database publication in less than two weeks. (chromereleases.googleblog.com)

What “out-of-bounds read” implies​

An out-of-bounds read occurs when code reads memory outside the intended boundary of a buffer or object. In browser land, that can lead to a crash, disclosure of adjacent memory, or leverage for bypassing randomization and other mitigations. It is not automatically remote code execution, but it can be an important stepping stone in a broader exploitation strategy. In practice, attackers love information leaks because they make everything else easier. (chromereleases.googleblog.com)
  • Confidentiality risk: memory contents may be exposed.
  • Availability risk: malformed input can crash the browser.
  • Exploit aid: leaked addresses can weaken mitigations.
  • User reach: the attack can begin from a webpage.
  • Patch urgency: browser updates should not be delayed. (chromereleases.googleblog.com)
Chrome’s notes do not describe public exploitation of CVE-2026-4460, and unlike some other March 2026 fixes, Google does not say this bug was known to be in the wild. That omission should not be read as harmless; it simply means Google did not flag live exploitation in the release note. For defenders, the safest assumption is always that a browser memory bug can be weaponized quickly once the details are known. (chromereleases.googleblog.com)

Why this matters for Windows users​

Although the bug is in Chromium, it matters directly to Windows users because Chrome on Windows is one of the primary attack surfaces in enterprise and consumer environments. The release notes explicitly show Windows/Mac builds receiving the fix, and NVD’s configuration data associates vulnerable Chrome versions with Microsoft Windows, Linux, and macOS. That broad platform footprint makes the issue relevant to mixed-device organizations, not just browser enthusiasts. (chromereleases.googleblog.com)

Source: NVD / Chromium Security Update Guide - Microsoft Security Response Center