← Back to Feed CACHED · 2026-09-09 01:06:40 · CACHE_KEY CVE-2026-87491
CVE-2026-87491 · CWE-787 · Disclosed 2026-09-09

Out of bounds write in V8 in Google Chrome prior to 153.0.8010.36 allowed a remote attacker to execute…

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

Someone left the vault door ajar inside the bank — robbers are already inside the lobby

CVE-2026-87491 is an out-of-bounds write in V8, Chrome's JavaScript and WebAssembly engine, present in all Chrome builds prior to 153.0.8010.36 (Linux) / 153.0.8010.36/.37 (Windows/Mac). A remote attacker needs only to lure a victim to a crafted HTML page — no authentication, no plugins, no user interaction beyond navigation. The OOB write gives the attacker an arbitrary read/write primitive on the V8 heap, which is the standard first step toward renderer-process code execution. Crucially, the CVE description specifies execution *inside the sandbox*, meaning the V8 bug alone does not breach Chrome's multi-process sandbox boundary.

Chromium's own severity label is Medium, which is strikingly low for a vulnerability confirmed as actively exploited in the wild — the sixth Chrome zero-day of 2026. Chromium rates V8 bugs that stay sandbox-contained as Medium by policy, but that label ignores two realities: (1) attackers exploiting this today are almost certainly chaining it with a sandbox escape (as Google's own Threat Analysis Group has noted in prior zero-day campaigns), and (2) the *population* of affected endpoints is measured in billions. The Medium label is a technical scope judgment, not a risk judgment. For enterprise defenders managing fleets, this is meaningfully more urgent than Medium.

"Actively exploited V8 OOB write in Chrome 153 — sandbox limits blast radius but real-world chains don't stop there."
02 · The Attack Path

5 steps from start to impact.

STEP 01

Victim navigates to attacker-controlled page

The attacker hosts or injects a crafted HTML page containing malicious JavaScript. Delivery vectors include spear-phishing links, watering-hole compromises, or malvertising on ad networks. No user action beyond clicking a link or loading an iframe is required.
Conditions required:
  • Victim uses Chrome < 153.0.8010.36
  • Victim visits or is redirected to attacker-controlled content
Where this breaks in practice:
  • Enterprise web proxies and DNS filtering may block known malicious domains
  • Email gateways with URL sandboxing can detonate links before delivery
Detection/coverage: URL reputation feeds, Google Safe Browsing, enterprise proxy logs showing navigation to newly-registered or low-reputation domains.
STEP 02

V8 OOB write triggers heap corruption

The crafted JavaScript triggers the out-of-bounds write in V8's compiler or runtime. This corrupts heap metadata or adjacent objects, giving the attacker a controlled read/write primitive within the renderer process's V8 heap. This is a well-understood exploitation pattern in V8 — JIT compiler bugs that confuse array element types (PACKED_SMI vs PACKED_ELEMENTS) are the canonical path.
Conditions required:
  • JavaScript execution is enabled (default)
  • V8 JIT compilation is active (default)
Where this breaks in practice:
  • V8's memory-safety mitigations (pointer compression, sandbox, CFI) add non-trivial exploitation complexity
  • Heap layout randomization means exploit reliability varies across builds and platforms
Detection/coverage: Chrome's CrashPad telemetry may capture renderer crashes. EDR agents monitoring for anomalous renderer-process behavior (unusual memory allocation patterns) may flag exploitation attempts.
STEP 03

Renderer-process code execution (sandboxed)

With an arbitrary read/write primitive, the attacker achieves code execution within the renderer process. This code runs inside Chrome's multi-process sandbox with severely restricted syscall access. The attacker can read renderer-process memory (including cookies, session tokens, page DOM for the current site) but cannot directly access the filesystem, network stack, or OS.
Conditions required:
  • Successful heap corruption from step 2
Where this breaks in practice:
  • Chrome sandbox on Windows uses restricted tokens, job objects, and Win32k lockdown
  • On Linux, seccomp-bpf filters block most syscalls from the renderer
Detection/coverage: EDR behavioral detection for unusual IPC patterns from chrome renderer processes. CrowdStrike Falcon, SentinelOne, and Microsoft Defender for Endpoint have signatures for Chrome renderer exploitation post-2024.
STEP 04

Sandbox escape (chained, not in this CVE)

In-the-wild exploitation campaigns historically chain V8 bugs with a separate sandbox escape — targeting Mojo IPC, the GPU process, or a kernel driver. Google's disclosure that this CVE is actively exploited strongly implies a companion escape exists. The escape grants the attacker full OS-level code execution as the Chrome process user.
Conditions required:
  • Attacker possesses a separate sandbox-escape vulnerability or technique
  • Target OS and Chrome build match the escape's requirements
Where this breaks in practice:
  • Sandbox escapes are high-value, expensive exploits — typically nation-state or commercial spyware grade
  • Chrome's sandbox is widely regarded as the strongest in any major browser
  • Windows CET/CFG and Linux ASLR raise the bar for escape reliability
Detection/coverage: EDR agents should detect post-escape behavior: child process spawning from chrome.exe, unusual DLL loads, credential access attempts. GreyNoise and Google TAG typically publish IOCs within days of confirmed campaigns.
STEP 05

Post-exploitation on endpoint

With OS-level execution, the attacker can steal credentials, deploy implants, pivot laterally, or exfiltrate data. On managed enterprise endpoints this means access to cached domain credentials, VPN certificates, browser-stored passwords, and potentially SSO session tokens.
Conditions required:
  • Successful sandbox escape
  • Endpoint lacks robust EDR or has outdated signatures
Where this breaks in practice:
  • Modern EDR (CrowdStrike, Defender for Endpoint, SentinelOne) should detect post-exploitation TTPs
  • Network segmentation limits lateral movement from workstations
Detection/coverage: Full EDR telemetry, SIEM correlation of anomalous authentication events, network IDS for C2 traffic patterns.
03 · Intelligence Metadata

The supporting signals.

In-the-Wild ExploitationConfirmed active. Google acknowledged exploitation in the wild on disclosure day (2026-09-09). This is the sixth Chrome zero-day exploited in 2026. No specific threat actor or campaign attributed yet; Google is withholding details per standard policy.
Proof-of-ConceptNo public PoC. Google is restricting bug details until patch adoption reaches critical mass. No exploit code found on GitHub, ExploitDB, or researcher blogs as of 2026-09-09.
EPSS ScoreNot yet scored. CVE was disclosed today (2026-09-09); EPSS typically lags 24–72 hours. Given active exploitation, expect EPSS > 0.5 (top 5%) once scored.
KEV StatusNot yet listed. CISA KEV additions for Chrome zero-days historically follow within 1–5 business days of Google's advisory. Expect imminent listing.
CVSS VectorNo official vector. Estimated: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N → ~9.3 if sandbox escape is assumed; ~6.1 (S:U/C:L/I:L/A:N) for sandbox-contained only. Chromium's Medium label reflects sandbox-contained scope.
Affected VersionsAll Google Chrome versions prior to 153.0.8010.36 (Linux) and 153.0.8010.36/.37 (Windows/Mac). This includes Chromium-based browsers (Edge, Brave, Opera, Vivaldi) until they rebase on the patched V8.
Fixed VersionsChrome 153.0.8010.36 (Linux), 153.0.8010.36/.37 (Windows/Mac). Chromium-based browsers require their own release cycle — check Edge, Brave, etc. independently.
Scanning/Exposure DataNot applicable for client-side browser vulns — there is no server-side exposure to scan via Shodan/Censys. Exposure is measured by browser version telemetry (e.g., Chrome Enterprise reporting, BigFix, SCCM, Intune).
Disclosure Date2026-09-09 — same-day patch release by Google.
ReporterNot publicly credited. Google's advisory does not name the reporter, suggesting internal discovery by Google TAG or an anonymous reporter under embargo.
04 · The Call

noisgate verdict.

Final Verdict
UPGRADED to HIGH (8.1/10)

Active in-the-wild exploitation is the single most decisive factor — this is not theoretical risk but confirmed weaponization against real targets, making any severity below HIGH indefensible regardless of sandbox containment. The sandbox boundary prevents escalation to CRITICAL on the strength of this CVE alone, since the documented impact is explicitly renderer-process-only without a confirmed companion escape.

HIGH Vulnerability existence, affected versions, and active exploitation status
MEDIUM Sandbox escape chaining in observed campaigns (strongly implied but not confirmed by Google)
LOW Specific threat actor attribution and campaign targeting details

Why this verdict

  • Active exploitation confirmed: Google acknowledged in-the-wild exploitation on the disclosure date. This is the strongest possible signal that the bug is weaponized and reliable enough for operational use.
  • Remote, no-auth, low-interaction attack vector: Any user visiting a malicious page is vulnerable. The attack requires only that JavaScript is enabled (the default). No plugins, no file downloads, no credential prompts.
  • Massive installed base: Chrome has ~3.5 billion installations globally. In a 10,000-host enterprise, effectively 100% of endpoints run Chrome or a Chromium derivative. The exposure population is near-universal.
  • Role multiplier: Chrome runs on (a) standard user workstations (low-value), (b) developer and IT admin workstations (high-value — cached credentials, VPN certs, SSO tokens, admin console sessions), and (c) headless Chrome in CI/CD pipelines. On admin workstations, renderer-process compromise alone yields session tokens for identity providers (Okta, Azure AD), cloud consoles, and internal tools — the blast radius extends to identity-tier and potentially fleet-tier impact without needing a sandbox escape. On CI/CD nodes running headless Chromium, compromise can pivot to supply-chain-tier impact. Because ≥10% of Chrome instances in an enterprise sit on privileged admin/dev workstations, the HIGH floor is triggered.
  • Sandbox containment is real friction but not a hard stop: The CVE scope is sandbox-contained, which genuinely limits the *direct* OS-level impact. However, renderer-process access still yields cookies, session tokens, DOM content, and autofill data for the active browsing session — this is high-value data on admin workstations without any escape needed.

Why not higher?

CRITICAL would require confirmed OS-level code execution — either a documented sandbox escape chain in this campaign or the CVE itself breaching the sandbox. The CVE description explicitly scopes impact to 'inside the sandbox,' and Google has not confirmed a companion escape CVE. The sandbox is a meaningful, well-tested boundary that limits blast radius to renderer-process data.

Why not lower?

Active in-the-wild exploitation with a remote no-auth attack vector against the world's most popular browser eliminates any argument for MEDIUM. The Chromium 'Medium' label is a scope classification, not a risk classification. An enterprise cannot treat a confirmed-exploited zero-day in its universal browser as anything less than HIGH.

05 · Compensating Control

What to do — in priority order.

  1. Force Chrome auto-update to 153.0.8010.36+ immediately — Use Chrome Enterprise policy TargetVersionPrefix or your MDM (Intune, JAMF, SCCM) to enforce minimum version 153.0.8010.36. This is the definitive fix. Deploy within the noisgate mitigation SLA of 30 days — but given active exploitation, push for 72 hours across your fleet.
  2. Enable Chrome Enterprise browser version reporting — Use Chrome Browser Cloud Management or your EDR's software inventory to identify all endpoints running Chrome < 153. You cannot patch what you cannot see. Prioritize admin and developer workstations.
  3. Audit Chromium-based browsers (Edge, Brave, Opera, Vivaldi) — These share the V8 engine and are affected until they ship their own patches. Check Microsoft Edge update status separately — Edge often lags Chrome patches by 1–3 days.
  4. Block known IOCs at proxy/DNS layer — Monitor Google TAG and CISA for campaign-specific IOCs (domains, IPs) and add them to your web proxy and DNS sinkhole. This reduces the delivery vector while patching rolls out.
  5. Restrict Chrome on high-privilege accounts — If feasible, enforce that domain admins and CI/CD service accounts use a hardened browser profile or a separate browser instance with JIT disabled (--js-flags=--jitless) until patched. This kills the V8 JIT exploitation path at a performance cost.
What doesn't work
  • Disabling JavaScript globally — technically effective but operationally impossible; it breaks virtually every web application and will generate an immediate revolt from users and LOB owners.
  • Network-level IDS/IPS signatures — the exploit payload is delivered over HTTPS to the browser; your network gear cannot inspect it without TLS interception, and even then, V8 exploit payloads are highly polymorphic.
  • Windows Defender Exploit Guard / EMET mitigations — Chrome's renderer already runs with CFG, ACG, and CET enabled; additional OS-level mitigations do not add meaningful coverage against V8 heap corruption.
06 · Verification

Crowdsourced verification payload.

Run on each target Windows endpoint (or via your RMM/SCCM script deployment). No admin privileges required. Example: powershell -ExecutionPolicy Bypass -File Check-CVE-2026-87491.ps1. On Linux/macOS, adapt the path to /opt/google/chrome/chrome or /Applications/Google Chrome.app/Contents/MacOS/Google Chrome.

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
#!/usr/bin/env pwsh
# Check-CVE-2026-87491.ps1
# Checks if installed Chrome is vulnerable to CVE-2026-87491
# (OOB write in V8, fixed in 153.0.8010.36)
# Exit codes: 1 = VULNERABLE, 0 = PATCHED, 2 = UNKNOWN

$FixedVersion = [version]'153.0.8010.36'

# Try registry first (most reliable on Windows)
$regPaths = @(
    'HKLM:\SOFTWARE\Google\Chrome\BLBeacon',
    'HKLM:\SOFTWARE\WOW6432Node\Google\Chrome\BLBeacon',
    'HKCU:\SOFTWARE\Google\Chrome\BLBeacon'
)

$chromeVersion = $null
foreach ($rp in $regPaths) {
    try {
        $val = (Get-ItemProperty -Path $rp -Name 'version' -ErrorAction Stop).version
        if ($val) { $chromeVersion = $val; break }
    } catch { }
}

# Fallback: check file version
if (-not $chromeVersion) {
    $chromePaths = @(
        "$env:ProgramFiles\Google\Chrome\Application\chrome.exe",
        "${env:ProgramFiles(x86)}\Google\Chrome\Application\chrome.exe",
        "$env:LOCALAPPDATA\Google\Chrome\Application\chrome.exe"
    )
    foreach ($cp in $chromePaths) {
        if (Test-Path $cp) {
            $chromeVersion = (Get-Item $cp).VersionInfo.ProductVersion
            break
        }
    }
}

if (-not $chromeVersion) {
    Write-Output 'UNKNOWN - Chrome not detected on this host'
    exit 2
}

try {
    $installed = [version]$chromeVersion
} catch {
    Write-Output "UNKNOWN - Could not parse Chrome version: $chromeVersion"
    exit 2
}

if ($installed -lt $FixedVersion) {
    Write-Output "VULNERABLE - Chrome $chromeVersion is below fixed version $FixedVersion (CVE-2026-87491)"
    exit 1
} else {
    Write-Output "PATCHED - Chrome $chromeVersion is at or above fixed version $FixedVersion"
    exit 0
}
07 · Bottom Line

If you remember one thing.

TL;DR
CVE-2026-87491 is an actively exploited V8 zero-day in every Chrome installation on your network — which means every endpoint. The noisgate mitigation SLA for HIGH is 30 days, but active exploitation overrides that: treat this as patch-immediately, targeting 72 hours for full fleet coverage. Monday morning, pull your Chrome version inventory from Intune/SCCM/BigFix, identify every endpoint below 153.0.8010.36, and push the update. Prioritize IT admin and developer workstations first — those sessions contain the keys to your kingdom even without a sandbox escape. Audit Edge, Brave, and other Chromium forks separately; they share the vulnerable V8 engine. For the noisgate remediation SLA, full patching should complete within 180 days, but realistically you want this closed in a week given the exploitation status. If any endpoints cannot update (kiosk machines, locked-down builds), apply the --js-flags=--jitless flag as a temporary compensating control to disable JIT compilation and kill the exploitation path.

Sources

  1. Security Online — Chrome 153 Patches Zero-Day CVE-2026-87491
  2. The Hacker News — Google Releases Chrome Update to Patch Actively Exploited V8 Zero-Day
  3. Security Affairs — Google fixes the sixth actively exploited Chrome zero-day of 2026
  4. GBHackers — Google Chrome V8 Flaw Actively Exploited in the Wild
  5. Nebula Security — Longinus: V8 Sandbox Escape CVE-2026-6307 Writeup
  6. Malwarebytes — Update Chrome before you browse again
  7. GitHub — V8 Sandbox Bypass Collection
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.