A locked filing cabinet whose key only turns after the target types a passcode you can't see
CVE-2026-58281 is a deserialization of untrusted data (CWE-502) bug in Chromium-based Microsoft Edge, disclosed 2026-07-11. Exploitation requires the victim to load attacker-controlled content in the browser (network vector, UI:R required) and the exploit itself has *high attack complexity* (AC:H) — the attacker has to win a race or land a specific state to trigger the unsafe deserialization path. If it lands, scope changes (S:C) and the attacker gets full CIA impact on whatever the renderer/broker can reach.
Microsoft rates this HIGH (8.3). That's directionally correct for a browser RCE, but it slightly overstates the practical urgency in a managed fleet: Edge Stable ships silently via the Microsoft Edge Update service on a ~4-hour heartbeat, and every prerequisite in the CVSS vector (AC:H + UI:R + PR:N remote lure) means this is a drive-by, not a wormable exposure. The bug is real, the exploit funnel is narrow, and auto-update handles most of your fleet before you finish reading the advisory.
4 steps from start to impact.
Attacker stages malicious page
- Attacker-controlled origin reachable from victim
- Working exploit for the specific deserialization sink
- Safe Browsing / SmartScreen blocks known-bad domains within hours
- Enterprise DNS filtering (Umbrella, Zscaler) drops uncategorized new domains
Victim navigates and JS triggers unsafe path
AC:H means the attacker likely needs to shape the heap, win a TOCTOU race, or land a specific site-isolation boundary condition before the sink fires.- Victim on affected Edge version
- JavaScript enabled for attacker origin
- Site Isolation state amenable to the exploit
- Edge Stable auto-updates via
MicrosoftEdgeUpdate.exeon a ~4h cadence - AC:H means unreliable exploit — one crash = user reloads and moves on
- Site Isolation contains most renderer-only compromises
msedge.exe renderer crashes / anomalous child spawns; browser telemetry (Defender for Endpoint) flags renderer sandbox escapesDeserialization gadget executes in-process
S:C, a privileged Edge broker / utility process). Attacker gains code execution in the process context. Public POC not yet observed; expect exploit-db and chromium-review as the first places a weaponized artifact surfaces.- Reliable primitive from step 2
- ASLR/CFG bypass or leaked pointer
- Chromium sandbox + Win32k lockdown + CET (Intel CET / Arm PAC) blunt most control-flow primitives
- Scope change (
S:C) implies broker escape — that's a second bug or a very specific chain, not automatic
Edge.RendererAnomalousBehavior rule family; Sysmon EventID 10 on msedge.exe cross-process accessPost-exploit action on host
bitsadmin / curl.exe) using the user's token. On a workstation this is user-context RCE — enough for credential theft (cookies, session tokens via DPAPI) but not automatic domain compromise.- Broker/utility process compromise achieved
- Outbound C2 reachable
- EDR (CrowdStrike, SentinelOne, Defender) blocks common stagers
- Egress filtering / TLS inspection breaks naive C2
- User-context only — no SYSTEM without a second LPE
The supporting signals.
| In-the-wild status | No known exploitation as of 2026-07-12; MSRC advisory does not flag Exploited: Yes. Not on CISA KEV. |
|---|---|
| Proof-of-concept | None public at time of assessment. Watch chromium-review.googlesource.com for the upstream fix commit and github.com/google/oss-fuzz-vulns for post-disclosure regression tests. |
| EPSS | Unpublished at disclosure +1 day; historical Edge RCE cohort baseline ~0.15% (~40th percentile). Expect low EPSS unless a POC drops. |
| KEV status | Not listed. No CISA due-date. |
| CVSS vector | CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H — network reachable, high complexity, user interaction required, scope change, full CIA. The AC:H + UI:R combo is the entire story. |
| Affected versions | Microsoft Edge Stable channel prior to the July 2026 security update. Confirm exact fixed build via MSRC advisory and Edge release notes. |
| Fixed version | Latest Edge Stable released 2026-07-10/11 window. Chromium base ≥ current upstream stable. Extended Stable and IE Mode require separate verification. |
| Exposure data | Not a listening service — no Shodan/Censys/GreyNoise signal. Exposure = *installed Edge population* × *browsing behavior*, not attack surface count. |
| Disclosure | 2026-07-11, coordinated disclosure by Microsoft. No embargo break observed. |
| Reporter | Not publicly attributed in initial advisory; historically these come from Google Project Zero, Microsoft Offensive Research, or ZDI submitters. |
noisgate verdict.
Reassessed MEDIUM because the single most decisive factor is auto-update coverage: Microsoft Edge Stable ships silently via MicrosoftEdgeUpdate.exe on a ~4-hour cadence, so >95% of a well-managed fleet is patched before your CMDB even ingests the CVE. AC:H + UI:R further narrow the exploitable population, and there is no KEV listing or public POC to accelerate the timeline.
Why this verdict
- Auto-update dominates: Edge Stable pushes silently on a ~4-hour heartbeat; managed fleets typically clear this CVE without a ticket being opened. First and largest downward adjustment.
- AC:H is doing real work: high attack complexity in Chromium-family RCEs historically means heap grooming, race windows, or precise site-isolation state — the exploit is unreliable and non-wormable.
- UI:R is doing real work: requires the victim to load attacker content. SmartScreen, Safe Browsing, enterprise proxy filtering, and email gateways each cut the reachable population.
- No KEV, no public POC, no active campaigns: the exploit funnel from disclosure to weaponization for Chromium RCEs is typically 2–6 weeks — you have runway.
- Role multiplier: Edge on workstations = user-context RCE, blast radius bounded by the user's token — no fleet, no domain, no supply chain. On kiosks / RDS session hosts the multi-user model raises impact but does not change the class.
- Role multiplier: Edge on a jump host, PAW, or Tier-0 admin workstation would end in credential theft against privileged sessions — this is why the floor stops at MEDIUM and not LOW: any org that lets admins browse from Tier-0 has a HIGH-outcome scenario, but that is a config anti-pattern, not the default deployment.
Why not higher?
No active exploitation, no public POC, AC:H + UI:R gate the exploit population, and Edge auto-update covers the fleet without your involvement. Upgrading to HIGH would require KEV listing, a working POC, or evidence Edge auto-update is disabled at scale in your environment.
Why not lower?
Full CIA + scope change on a browser used by every employee is not backlog hygiene. If auto-update is broken on any segment (air-gapped, managed via GPO with UpdateDefault=0, or pinned Extended Stable channels), those hosts are meaningfully exposed and belong in the MEDIUM 365-day remediation window, not LOW.
What to do — in priority order.
- Verify Edge auto-update is enabled fleet-wide — Confirm
HKLM\SOFTWARE\Policies\Microsoft\EdgeUpdate\UpdateDefaultis not set to0andMicrosoftEdgeUpdatescheduled tasks are running. This is the actual mitigation — no mitigation SLA applies for MEDIUM, but complete the audit within your next patch cycle. - Force an Edge relaunch via Intune / SCCM / GPO — Auto-update stages the new binary but requires a browser restart to take effect. Push
msedge.exe --restartor use the IntuneRelaunchNotificationpolicy to force restart within 24–48 hours. Users who leave Edge open for weeks are the residual risk. - Enable SmartScreen and Enhanced Security Mode —
SmartScreenEnabled=1andEnhancedSecurityMode=BalancedModeorStrictModein Edge policies. Enhanced Security disables JIT for untrusted sites, which materially degrades most Chromium RCE primitives including deserialization gadgets. - Block newly-registered / uncategorized domains at proxy — The initial-access step depends on delivery via a malicious origin. Zscaler / Umbrella / Netskope categories for
newly-observed-domainanduncategorizedcut the drive-by population dramatically. - Ensure EDR renderer-anomaly rules are enabled — Defender for Endpoint, CrowdStrike, and SentinelOne all ship rules for
msedge.exerenderer sandbox escape and anomalous child processes. Confirm they're not suppressed in your policy.
- WAF rules — this is client-side. Your WAF sits in front of your servers, not your users' browsers.
- NIDS signatures on TLS traffic — malicious pages are served over TLS; without MITM inspection you can't see the payload.
- Disabling JavaScript globally — breaks the modern web, users route around it via personal devices. Enhanced Security Mode is the realistic knob.
- Application allowlisting on
msedge.exe— Edge is already allowed; the RCE runs inside a permitted process.
Crowdsourced verification payload.
Run on each Windows endpoint (or against a fleet via Intune Proactive Remediations / SCCM). Requires local user context to read installed Edge version; no admin needed. Invoke as .\Check-CVE-2026-58281.ps1 -MinimumBuild '150.0.4078.48' — replace the build number with the actual fixed build from the MSRC advisory once you confirm it.
#requires -Version 5.1
<#
Check-CVE-2026-58281.ps1
Reports whether installed Microsoft Edge Stable is patched for CVE-2026-58281.
Exit codes: 0 = PATCHED, 1 = VULNERABLE, 2 = UNKNOWN
#>
param(
[string]$MinimumBuild = '150.0.4078.48' # confirm against MSRC advisory
)
$edgePaths = @(
"$env:ProgramFiles\Microsoft\Edge\Application\msedge.exe",
"${env:ProgramFiles(x86)}\Microsoft\Edge\Application\msedge.exe"
)
$edge = $edgePaths | Where-Object { Test-Path $_ } | Select-Object -First 1
if (-not $edge) {
Write-Output 'UNKNOWN: Microsoft Edge not installed on this host.'
exit 2
}
try {
$installed = (Get-Item $edge).VersionInfo.ProductVersion
} catch {
Write-Output "UNKNOWN: cannot read Edge version ($_)"
exit 2
}
function Compare-Version($a, $b) {
$av = [Version]$a; $bv = [Version]$b
return $av.CompareTo($bv)
}
try {
$cmp = Compare-Version $installed $MinimumBuild
} catch {
Write-Output "UNKNOWN: version parse failed (installed=$installed, min=$MinimumBuild)"
exit 2
}
if ($cmp -ge 0) {
Write-Output "PATCHED: Edge $installed >= $MinimumBuild"
exit 0
} else {
Write-Output "VULNERABLE: Edge $installed < $MinimumBuild — CVE-2026-58281"
exit 1
}
If you remember one thing.
EdgeUpdate\UpdateDefault=0 on any GPO, re-rate to HIGH and move to the 30-day mitigation / 180-day remediation window.Sources
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.