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

Type Confusion in ANGLE in Google Chrome prior to 149

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

This is a booby-trapped billboard on the highway, dangerous because everyone passes it, but still behind the windshield of Chrome’s sandbox

CVE-2026-10883 is a memory-corruption bug in Chrome’s graphics stack, specifically ANGLE, the translation layer Chrome uses for WebGL and GPU rendering. The user-provided intel describes it as a type confusion before 149.0.7827.53, while Google’s June 2, 2026 stable-channel advisory instead lists CVE-2026-10883 as "Out of bounds write in ANGLE" fixed in 149.0.7827.53 for Linux and 149.0.7827.53/54 for Windows and macOS. Either way, the practical issue is the same: a crafted web page can feed malformed graphics content into ANGLE and corrupt memory.

In enterprise reality, this is serious but not apocalyptic. Browsers are everywhere and the attacker path is clean: get a user onto hostile content and trigger the bug remotely. But the biggest downward pressure is that this is still a client-side, user-driven, sandboxed browser exploit; full device compromise usually needs reliability work and often a second sandbox-escape or privilege-escalation bug. So the supplied HIGH 8.8 baseline is directionally fair, but not a reason to treat this like an unauthenticated perimeter RCE on a server.

"Remote browser memory corruption with huge exposure, but user action and Chrome sandboxing keep it out of CRITICAL"
02 · The Attack Path

4 steps from start to impact.

STEP 01

Land the victim on attacker-controlled web content

The initial weapon is a malicious page, ad slot, or compromised third-party script. The attacker does not need credentials; they need the user to render hostile content in a vulnerable Chrome build. In practice this is classic browser exploitation delivery, not network service exploitation.
Conditions required:
  • Victim runs Chrome below 149.0.7827.53/54
  • Victim browses to attacker-controlled or attacker-influenced content
  • Security controls do not block the destination or payload stage
Where this breaks in practice:
  • Requires user interaction under the supplied CVSS vector
  • Enterprise DNS filtering, SWG, and browser isolation can break commodity delivery
  • Attackers need enough reach to get users onto the page at scale
Detection/coverage: Perimeter vuln scanners will miss this. Detection is mostly via web filtering logs, ad-tech telemetry, EDR browser-child anomalies, and crash spikes tied to chrome.exe / GPU process activity.
STEP 02

Trigger ANGLE with weaponized WebGL or graphics content

The exploit path likely uses WebGL, shader handling, or another graphics path that routes untrusted content into ANGLE. ANGLE translates graphics calls for the underlying platform GPU APIs, making it a rich target for memory-corruption bugs. The attacker’s "tool" here is a weaponized graphics workload embedded in normal web content.
Conditions required:
  • WebGL or the relevant graphics feature is enabled
  • Target platform exercises the vulnerable ANGLE code path
  • The page can execute enough script/graphics logic to shape memory state
Where this breaks in practice:
  • Exploit reliability can vary across GPU vendors, drivers, and operating systems
  • Some enterprises disable or restrict hardware acceleration for high-risk groups
  • Browser feature policies, VDI, or remote browser isolation can reduce reachable target quality
Detection/coverage: Network scanners cannot validate exploitability. Browser exploit kits often leave little static signature; defenders mostly see crashes, abnormal GPU process terminations, or exploit-mitigation telemetry from the endpoint.
STEP 03

Convert the bug into memory corruption in Chrome’s graphics path

Once the vulnerable ANGLE path is hit, the attacker tries to turn the bug into a controlled corruption primitive such as out-of-bounds write or type confusion-driven heap corruption. That can yield renderer or GPU-process code execution depending on the exact path. This is the step where the bug becomes more than a crash.
Conditions required:
  • A sufficiently reliable exploit primitive exists for the victim’s build and graphics stack
  • Modern mitigations like CFG, CFI, heap hardening, and ASLR are bypassed or worked around
Where this breaks in practice:
  • Chrome’s exploit mitigations and memory-safety hardening raise the bar materially
  • ANGLE and GPU paths can be noisy and crash-prone before they are reliable
  • Many public reports on Chrome bugs never translate into broadly usable weaponization
Detection/coverage: EDR may catch browser exploit mitigation events, repeated browser/GPU crashes, or suspicious memory-protection changes. Traditional vulnerability scanning coverage is weak.
STEP 04

Break out of the browser security boundary for host impact

The browser compromise is not the same thing as full workstation compromise. To steal broadly, persist, or execute outside Chrome’s allowance set, attackers commonly need a second-stage escape from the renderer or GPU sandbox, or they must settle for data reachable within the browser context. This is the key friction that keeps many browser bugs below CRITICAL for enterprise patch triage.
Conditions required:
  • A sandbox escape, privilege escalation, or valuable-in-browser objective exists
  • The attacker can maintain stability long enough to execute the follow-on stage
Where this breaks in practice:
  • Chrome’s multi-process sandboxing is explicitly designed to contain exactly this class of bug
  • GPU processes may run with more access than renderers, but they are still not equivalent to SYSTEM or root
  • Many intrusions stop at browser-context theft instead of full endpoint takeover
Detection/coverage: Look for suspicious child processes from Chrome, token abuse, unusual file writes by browser processes, credential-store access, or chaining into another local privilege escalation.
03 · Intelligence Metadata

The supporting signals.

In-the-wild statusNo confirmed active exploitation found in the sources reviewed, and not listed in CISA KEV at assessment time.
KEV statusAbsent from CISA KEV as checked against the CISA catalog page. No KEV date applies.
PoC availabilityNo public PoC or exploit repo found in indexed sources for this specific CVE. That lowers urgency versus a bug already folded into public exploit kits.
EPSSNot verified from indexed FIRST data during this assessment. FIRST documents the API and daily dataset, but I could not verify a live score for this newly disclosed CVE from searchable indexed results.
CVSS / vendor baselineUser-supplied baseline is 8.8 HIGH with CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H. Important conflict: Google’s own Chrome release post buckets CVE-2026-10883 under Critical and describes it as out of bounds write in ANGLE, not type confusion.
Affected versionsChrome before 149.0.7827.53 per the user intel; Google’s desktop release says fixed in 149.0.7827.53 (Linux) and 149.0.7827.53/54 (Windows/Mac).
Fixed versionsUpgrade Chrome to 149.0.7827.53+ on Linux and 149.0.7827.54+ on Windows/macOS to be safely on the fixed side of the desktop release train.
Exposure realityThis is endpoint/client exposure, not an internet-facing service. Shodan/Censys/FOFA-style exposure counts are largely irrelevant here; the real population is your browser fleet, especially unmanaged or slow-to-update endpoints.
Disclosure timelineUser supplied 2026-06-04 disclosure date, while Google’s stable desktop release carrying the fix is dated 2026-06-02. For patch operations, use the release date of the fixed build, not just the later CVE metadata date.
Researcher / reportingGoogle credits Maher Azzouzi for reporting the bug on 2026-04-17 in the Chrome stable-channel advisory.
04 · The Call

noisgate verdict.

Final Verdict
= UNCHANGED to HIGH (7.9/10)

The decisive factor is reachability at scale in a ubiquitous client: a hostile web page can hit this remotely across a massive endpoint population. It stays in HIGH, not CRITICAL, because the chain still depends on user-driven content rendering and Chrome’s process sandbox materially reduces straightforward host-level blast radius.

HIGH Affected fixed-version boundary from Google Chrome stable-channel advisory
MEDIUM Exploit-chain friction assessment around Chrome sandbox containment
LOW Exact flaw taxonomy, because the supplied intel conflicts with Google’s release note description

Why this verdict

  • Huge exposure population: Chrome is everywhere in enterprise, so even a client-side bug can affect thousands of seats fast once delivery is solved.
  • Remote delivery is easy enough: no auth is needed, and a malicious page or ad path is a well-understood attacker distribution model.
  • Sandbox is the main downgrade lever: practical host compromise usually needs more than a single browser memory-corruption bug, especially on hardened modern Chrome builds.

Why not higher?

This is not an unauthenticated server-side RCE on an internet-facing service. The attacker must get a user to render hostile content, then still deal with Chrome exploit mitigations and often a second-stage sandbox escape before they get durable workstation-level impact.

Why not lower?

Do not talk yourself into complacency just because it is "only a browser bug." Browsers are the most exposed parsing surface on most endpoints, and memory corruption in a default user tool with fleet-wide footprint deserves a real patch campaign even without KEV evidence.

05 · Compensating Control

What to do — in priority order.

  1. Force browser auto-update compliance — Enforce Chrome enterprise update policy and verify endpoints are pulling 149.0.7827.53/54 or later. For a HIGH verdict, deploy this control within 30 days at most, but in practice do it immediately because this is low-friction hygiene with large fleet payoff.
  2. Disable or restrict WebGL for high-risk tiers — For admins, executives, developers handling sensitive code, and users on unmanaged travel devices, restrict WebGL or hardware acceleration where business impact is acceptable. This reduces exposure to ANGLE-trigger paths and should be pushed within 30 days for those high-risk groups if patch saturation lags.
  3. Use remote browser isolation for untrusted categories — Route risky browsing classes such as newly registered domains, uncategorized sites, webmail links, and ad-heavy destinations through RBI where available. That is a practical shield against malicious page delivery and should be enabled within 30 days for the populations most likely to hit hostile web content first.
  4. Hunt for browser crash clusters — Baseline Chrome and GPU-process crash telemetry, then alert on spikes after suspicious browsing events. This will not prevent exploitation, but it can surface failed or noisy exploit attempts while patching is still rolling out; stand this up within 30 days if you do not already collect it.
What doesn't work
  • External vulnerability scanning does not help; this is not a listening network service and scanners cannot reliably validate client-side exploitability.
  • WAF rules do not protect endpoints browsing the open internet; the attack lives in the client rendering path, not your web applications.
  • MFA is irrelevant to exploit prevention here. It may reduce downstream account abuse, but it does nothing to stop the browser bug from triggering.
06 · Verification

Crowdsourced verification payload.

Run this on the target Windows endpoint or through your EDR / management agent as local admin or a standard user with read access to installed application paths. Invoke with powershell -ExecutionPolicy Bypass -File .\Test-Chrome-CVE-2026-10883.ps1; it checks common chrome.exe locations and prints VULNERABLE, PATCHED, or UNKNOWN based on whether any installed Chrome build is below 149.0.7827.53.

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
# Test-Chrome-CVE-2026-10883.ps1\n# Checks installed Google Chrome versions against the fixed build for CVE-2026-10883.\n# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN\n\n$ErrorActionPreference = 'Stop'\n$MinimumVersion = [version]'149.0.7827.53'\n\n$paths = @(\n    'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe',\n    'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe',\n    "$env:LOCALAPPDATA\\Google\\Chrome\\Application\\chrome.exe"\n)\n\n$found = @()\n\nforeach ($p in $paths) {\n    if ([string]::IsNullOrWhiteSpace($p)) { continue }\n    if (Test-Path -LiteralPath $p) {\n        try {\n            $item = Get-Item -LiteralPath $p\n            $verString = $item.VersionInfo.ProductVersion\n            if (-not $verString) { $verString = $item.VersionInfo.FileVersion }\n            if ($verString) {\n                $normalized = ($verString -split '\\s+')[0]\n                $ver = [version]$normalized\n                $found += [pscustomobject]@{ Path = $p; Version = $ver; Raw = $verString }\n            }\n        }\n        catch {\n            Write-Host "UNKNOWN - Failed to read version from $p: $($_.Exception.Message)"\n            exit 2\n        }\n    }\n}\n\nif ($found.Count -eq 0) {\n    Write-Host 'UNKNOWN - Google Chrome not found in standard paths'\n    exit 2\n}\n\n$vuln = $found | Where-Object { $_.Version -lt $MinimumVersion }\n\nif ($vuln.Count -gt 0) {\n    $details = ($vuln | ForEach-Object { "{0} ({1})" -f $_.Path, $_.Version.ToString() }) -join '; '\n    Write-Host "VULNERABLE - Chrome below $($MinimumVersion.ToString()): $details"\n    exit 1\n}\n\n$details = ($found | ForEach-Object { "{0} ({1})" -f $_.Path, $_.Version.ToString() }) -join '; '\nWrite-Host "PATCHED - All detected Chrome installs are >= $($MinimumVersion.ToString()): $details"\nexit 0
07 · Bottom Line

If you remember one thing.

TL;DR
Monday morning: treat this as a fleet browser hygiene problem with real exploit potential, not as a perimeter emergency. Use Chrome enterprise policy to force update uptake, verify stragglers with endpoint telemetry, and apply temporary exposure cuts like WebGL restriction or RBI for your highest-risk users; under the noisgate mitigation SLA, compensating controls for this HIGH finding should be in place within 30 days, and under the noisgate remediation SLA the actual vendor patch must be fully rolled out within 180 days. In practice, because the fixed build already exists, most teams should finish far earlier than the outer SLA.

Sources

  1. Google Chrome Releases - Stable Channel Update for Desktop (June 2, 2026)
  2. Chromium ANGLE project overview
  3. Chromium design doc - GPU Accelerated Compositing in Chrome
  4. Chromium design doc - Multi-process Architecture
  5. Chromium security article - Chrome sandbox diagnostics for Windows
  6. Chrome 149 release notes
  7. CISA Known Exploited Vulnerabilities Catalog
  8. FIRST EPSS data and API documentation
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.