← Back to Feed CACHED · 2026-05-17 09:42:19 · cache_key CVE-2025-29912
CVE-2026-11005 · CWE-125 · Disclosed 2026-06-04

Out of bounds read in ANGLE in Google Chrome on Windows prior to 149

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
01 · The Real Story

This is a peephole in the panic room, not a door in the lobby

CVE-2026-11005 is an out-of-bounds read in ANGLE on Google Chrome for Windows affecting versions before 149.0.7827.53. Publicly available records describe it as a bug that a remote attacker who already compromised the renderer process can use via crafted HTML to read potentially sensitive process memory, which makes this a post-renderer-compromise information disclosure issue rather than a clean initial-access bug.

Reality is lower-drama than the words *remote attacker* suggest. The decisive friction is that the attacker must first land code execution or equivalent control inside Chrome's renderer, and only then use this ANGLE bug as a second-stage primitive; that puts it firmly in exploit-chain territory. Chromium's own public wording tags the underlying security severity as Medium, and that matches the real-world risk much better than a vacuum-scored browser memory bug would.

"ASSESSED AT MEDIUM: useful only after renderer compromise, so this is a chain component, not an entry point"
02 · The Attack Path

4 steps from start to impact.

STEP 01

Land in the renderer first

The attacker needs a separate browser bug or logic issue to gain control of the sandboxed renderer process. In practice this usually means a first-stage exploit delivered as malicious web content, typically using a custom HTML/JavaScript/WebGL harness rather than an off-the-shelf tool.
Conditions required:
  • Victim must browse attacker-controlled content
  • A separate renderer-compromise bug or equivalent renderer control primitive must already exist
  • Chrome must be running on Windows
Where this breaks in practice:
  • This CVE is not the initial foothold
  • Modern Chrome hardening and exploit mitigations raise the bar for reliable renderer compromise
  • No public exploit chain for this CVE was found
Detection/coverage: Most scanners will not see this step directly; detections come from browser exploit telemetry, crash spikes, or EDR/browser isolation products spotting exploit behavior.
STEP 02

Steer execution into ANGLE's vulnerable path

Once inside the renderer, the attacker uses crafted HTML/WebGL operations to hit the ANGLE code path on Windows. The public fix linked to Chromium bug 495052581 points to an RGBX data upload size-calculation issue in ANGLE, which is consistent with an out-of-bounds read primitive rather than a straightforward code-exec primitive.
Conditions required:
  • Renderer control already achieved
  • ANGLE-backed graphics path exercised on Windows
  • Target workload reaches the affected upload/format handling path
Where this breaks in practice:
  • Path appears format- and code-path-specific
  • ANGLE behavior can vary by GPU, driver, and rendering path
  • A read primitive is usually less directly weaponizable than a write or UAF
Detection/coverage: No practical content signature. Detection is mostly version-based plus browser/GPU crash or anomaly telemetry.
STEP 03

Read adjacent process memory

If exploitation succeeds, the attacker can disclose memory from the compromised process context. That can expose tokens, pointers, or other sensitive in-process artifacts useful for stabilization, exploit development, or chaining into a sandbox escape.
Conditions required:
  • The out-of-bounds read must be reliable enough to return useful data
  • Sensitive material must be resident in reachable process memory
Where this breaks in practice:
  • Information disclosure alone does not break sandbox boundaries
  • Useful secrets may not be present or may be short-lived
  • Reliability matters: noisy reads often become crashes, not intelligence
Detection/coverage: Hard to detect directly; memory disclosure rarely leaves a neat host artifact unless it causes crashes or is paired with follow-on abuse.
STEP 04

Chain into a higher-impact bug

The practical attacker value is as a helper primitive inside a broader chain: leak memory, defeat ASLR-like uncertainty, or harvest data that makes a second bug more reliable. Without that second bug, the blast radius stays bounded to the already-compromised renderer context.
Conditions required:
  • Attacker has an additional exploit stage or operational objective that benefits from leaked memory
  • Victim environment permits follow-on browser abuse
Where this breaks in practice:
  • Requires multiple bugs or a very specific post-compromise objective
  • Enterprise controls like browser isolation, EDR, and rapid auto-update reduce dwell time for browser chains
Detection/coverage: You usually detect the chain, not this CVE in isolation. Version checks are the main coverage; behavioral tools may catch the initial renderer exploit or later sandbox-escape attempt.
03 · Intelligence Metadata

The supporting signals.

In-the-wild statusNo confirmed active exploitation found. The user-supplied intel says KEV listed: No, and public checks show no KEV entry for this CVE in CISA KEV.
Proof-of-concept availabilityNo public PoC found in open web results for CVE-2026-11005. The public breadcrumb is the linked Chromium issue and ANGLE fix path, not a weaponized exploit: Chromium issue 495052581, ANGLE fix commit.
EPSSVery low / effectively absent in public feeds. User-supplied EPSS is 0.00035; another public tracker shows EPSS not provided by FIRST.org for this CVE as of 2026-06-05: Quanteta, FIRST EPSS API docs.
KEV statusNot KEV-listed as of the public checks above. No CISA due date, no federal emergency signal. Source: CISA KEV Catalog.
CVSS baselineNo vendor or authority CVSS published. This is why the call here is = ASSESSED AT MEDIUM, not an upgrade/downgrade. Public tracker status: No CVSS score published: Quanteta record.
Affected versionsGoogle Chrome on Windows prior to 149.0.7827.53. Public description explicitly scopes the issue to Windows and ANGLE: Quanteta record.
Fixed version149.0.7827.53 for Windows. Google announced Chrome 149 stable for desktop on 2026-06-02, with Windows/Mac at 149.0.7827.53/54 and Linux at 149.0.7827.53: Chrome Stable Channel Update for Desktop.
Exposure realityHuge install base, tiny direct exposure. Chrome is everywhere, but this is endpoint software, not an internet-facing server. Attackers must reach a user, win a first-stage renderer compromise, and then hit a Windows-only ANGLE path; Shodan/Censys-style external attack-surface enumeration is basically not applicable here.
Disclosure date2026-06-04 per supplied intel and public third-party record. Public Chrome 149 stable update shipped on 2026-06-02, and the public CVE record snapshot shows published 2026-06-04: Quanteta, Chrome release post.
Root cause / researcherCWE-125 Out-of-bounds Read. Publicly available sources do not clearly attribute an external reporter for this exact CVE; the technical breadcrumb is Chromium bug 495052581, whose linked ANGLE fix describes an RGBX data-upload size mismatch leading to out-of-bounds data access: ANGLE commit.
04 · The Call

noisgate verdict.

Final Verdict
= UNCHANGED to MEDIUM (5.9/10)

The single biggest severity reducer is the prerequisite chain: the attacker must already control the renderer process before this bug matters. That makes CVE-2026-11005 a second-stage helper primitive with limited standalone blast radius, not a practical enterprise entry-point vulnerability by itself.

HIGH Affected version and platform scope: Windows Chrome before 149.0.7827.53
MEDIUM Severity assessment from public exploit-chain friction and lack of exploitation evidence
MEDIUM Technical root-cause mapping from public fix breadcrumbs to likely memory-disclosure behavior

Why this verdict

  • Post-compromise only: requires prior renderer compromise, which implies the attacker has already beaten Chrome's first security boundary. That is a major downward adjustment from any generic 'remote browser bug' intuition.
  • Read primitive, not direct takeover: public wording points to obtaining sensitive process memory, not straight renderer RCE or guaranteed sandbox escape. Information disclosure can be useful in chains, but alone it is a smaller enterprise fire.
  • Windows-only ANGLE path narrows population: this is not cross-platform Chrome-wide exposure. The bug sits behind a specific Windows graphics component and likely a narrower rendering path, which further reduces real reachable population.
  • No KEV, no public PoC, negligible EPSS: there is no public sign that operators are actively using this CVE. With no exploitation evidence, no PoC, and effectively absent/very low EPSS, urgency stays moderate rather than high.

Why not higher?

It is not higher because the exploit chain starts with 'attacker already compromised the renderer'. That means this CVE is not your initial foothold problem; it is a chain-enabler whose value depends on another bug already succeeding. Also, the available public description points to memory disclosure, not a clean one-shot sandbox escape or browser-to-OS compromise.

Why not lower?

It is not lower because Chrome is everywhere, ANGLE is security-relevant on Windows, and memory disclosures inside exploit chains can materially improve reliability or leak useful secrets. Even as a second-stage primitive, it sits in a high-value target class and should not be ignored as mere noise.

05 · Compensating Control

What to do — in priority order.

  1. Enforce Chrome auto-update — Make sure Windows endpoints are allowed to move to 149.0.7827.53 or later without user deferral. For a MEDIUM finding there is no mitigation SLA — go straight to the 365-day remediation window, but browsers are low-friction to update, so use your normal endpoint policy rather than treating this as exception work.
  2. Block unsupported Chrome builds — Use endpoint management or application control to identify and suppress straggler installs below 149.0.7827.53. This reduces the long tail of unmanaged portable installs and should be completed within the 365-day remediation window for a MEDIUM issue.
  3. Harden browser isolation for risky users — Keep or enable remote/browser isolation, high-risk browsing segmentation, or stricter web content controls for admins, developers, and finance users. This does not fix the bug, but it cuts the odds of the required first-stage renderer compromise; for MEDIUM there is no mitigation SLA, so fold this into your standing control program rather than a hotfix sprint.
  4. Monitor for renderer-crash anomalies — Collect Chrome crash telemetry, GPU-process anomalies, and EDR detections around browser exploit behavior. That helps catch the prerequisite exploit stage this CVE depends on, and it can be operationalized during the same 365-day remediation window while patch coverage converges.
What doesn't work
  • Perimeter scanning doesn't help much because Chrome is endpoint software, not a remotely exposed service.
  • WAF rules do not meaningfully reduce risk here; the vulnerable logic runs in the client browser after content is rendered.
  • MFA is irrelevant to exploiting this bug path. It may reduce downstream account abuse, but it does not stop renderer compromise or ANGLE memory reads.
  • AV signatures for a named PoC are weak here because no public PoC was found and exploit delivery would likely be bespoke web content.
06 · Verification

Crowdsourced verification payload.

Run this on the target Windows endpoint or through your EDR/remote-management shell. Invoke with powershell -ExecutionPolicy Bypass -File .\check-chrome-cve-2026-11005.ps1; standard user rights are usually enough, but local admin helps if you want to inspect all-machine registry paths reliably. The script checks common Chrome install locations and registry version data, compares against the fixed build 149.0.7827.53, and prints VULNERABLE, PATCHED, or UNKNOWN.

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
# check-chrome-cve-2026-11005.ps1

# Purpose: Determine whether Google Chrome on Windows is vulnerable to CVE-2026-11005

# Affected: Chrome on Windows prior to 149.0.7827.53

# Output: VULNERABLE / PATCHED / UNKNOWN

# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN


$ErrorActionPreference = 'SilentlyContinue'
$fixedVersion = [version]'149.0.7827.53'

function Get-RegistryVersion {
    param([string]$Path)
    try {
        $item = Get-ItemProperty -Path $Path -ErrorAction Stop
        if ($item.version) { return $item.version }
    } catch {}
    return $null
}

function Get-FileVersion {
    param([string]$Path)
    try {
        if (Test-Path $Path) {
            return (Get-Item $Path).VersionInfo.ProductVersion
        }
    } catch {}
    return $null
}

function Normalize-Version {
    param([string]$VersionString)
    if ([string]::IsNullOrWhiteSpace($VersionString)) { return $null }
    try {
        # Strip non-numeric suffixes if present

        $clean = ($VersionString -replace '[^0-9\.]', '')
        return [version]$clean
    } catch {
        return $null
    }
}

$checks = @()

# Registry: machine-wide and per-user Chrome update/client state keys

$regPaths = @(
    'HKLM:\SOFTWARE\Google\Chrome\BLBeacon',
    'HKCU:\SOFTWARE\Google\Chrome\BLBeacon',
    'HKLM:\SOFTWARE\WOW6432Node\Google\Update\Clients\{8A69D345-D564-463C-AFF1-A69D9E530F96}',
    'HKLM:\SOFTWARE\Google\Update\Clients\{8A69D345-D564-463C-AFF1-A69D9E530F96}'
)
foreach ($rp in $regPaths) {
    $v = Get-RegistryVersion -Path $rp
    if ($v) {
        $checks += [pscustomobject]@{ Source = $rp; VersionString = $v }
    }
}

# Common executable locations

$filePaths = @(
    "$env:ProgramFiles\Google\Chrome\Application\chrome.exe",
    "$env:ProgramFiles(x86)\Google\Chrome\Application\chrome.exe",
    "$env:LocalAppData\Google\Chrome\Application\chrome.exe"
)
foreach ($fp in $filePaths) {
    $v = Get-FileVersion -Path $fp
    if ($v) {
        $checks += [pscustomobject]@{ Source = $fp; VersionString = $v }
    }
}

if (-not $checks -or $checks.Count -eq 0) {
    Write-Output 'UNKNOWN - Google Chrome not found in common registry keys or file paths.'
    exit 2
}

$parsed = @()
foreach ($c in $checks) {
    $ver = Normalize-Version -VersionString $c.VersionString
    if ($ver) {
        $parsed += [pscustomobject]@{ Source = $c.Source; Version = $ver }
    }
}

if (-not $parsed -or $parsed.Count -eq 0) {
    Write-Output 'UNKNOWN - Chrome found, but version could not be parsed.'
    exit 2
}

# If any discovered install is below fixed version, treat host as vulnerable.

$vuln = $parsed | Where-Object { $_.Version -lt $fixedVersion }
$patched = $parsed | Where-Object { $_.Version -ge $fixedVersion }

if ($vuln) {
    $details = ($vuln | ForEach-Object { "$($_.Version) [$($_.Source)]" }) -join '; '
    Write-Output "VULNERABLE - Found Chrome version(s) below $fixedVersion: $details"
    exit 1
}

if ($patched) {
    $details = ($patched | ForEach-Object { "$($_.Version) [$($_.Source)]" }) -join '; '
    Write-Output "PATCHED - Found Chrome version(s) at or above $fixedVersion: $details"
    exit 0
}

Write-Output 'UNKNOWN - Unable to determine Chrome patch status conclusively.'
exit 2
07 · Bottom Line

If you remember one thing.

TL;DR
Monday morning: do not burn your emergency lane on this one unless you have separate evidence of a live browser exploit campaign in your environment. This is = ASSESSED AT MEDIUM because it is a post-renderer-compromise helper bug, not a practical standalone foothold; there is no noisgate mitigation SLA — go straight to the 365-day remediation window. Operationally, use normal browser hygiene: verify Windows fleets have moved to Chrome 149.0.7827.53 or later, clean up unmanaged stragglers, and close the issue inside the noisgate remediation SLA of ≤365 days; because browser updates are cheap, most enterprises should finish that far sooner through standard auto-update enforcement, not an incident patch sprint.

Sources

  1. Google Chrome Stable Channel Update for Desktop (Chrome 149)
  2. Quanteta record for CVE-2026-11005
  3. ANGLE README
  4. Chromium Multi-process Architecture
  5. Chromium Sandbox design docs
  6. CISA Known Exploited Vulnerabilities Catalog
  7. FIRST EPSS API documentation
  8. ANGLE fix commit linked to Chromium bug 495052581
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.