Someone left the master key under the doormat, and burglars are already inside using it
CVE-2026-85880 is a heap-based buffer overflow (CWE-122) in the Windows Advanced Local Procedure Call (ALPC) subsystem — the IPC mechanism that nearly every Windows service uses to talk to every other Windows service. A local attacker with low-privilege access sends a crafted ALPC message that overflows a heap buffer, corrupts adjacent memory, and escalates to SYSTEM. Affected builds span Windows 10 (builds 14393.x, 17763.x, 19044.x and later) and Windows 11 (24H2/25H2), meaning virtually the entire supported Windows fleet is vulnerable. Microsoft shipped the fix in the September 2026 Patch Tuesday cycle via KB5122876 and related KBs.
Microsoft rated this Important / HIGH 7.8, which undersells the real-world risk. The vendor score correctly reflects the local attack vector and low-privilege prerequisite, but it does not account for two decisive facts: (1) Microsoft itself confirms active exploitation in the wild — this is a zero-day, not a theoretical bug — and (2) ALPC is present on every Windows installation, including domain controllers and Hyper-V hosts, where SYSTEM-level compromise translates directly to domain takeover or hypervisor escape. A 7.8 might be fair for a theoretical local EoP; it is not fair for one that threat actors are already weaponizing against your fleet.
4 steps from start to impact.
Initial foothold on a Windows host
- Low-privilege shell or code execution on a Windows host
- Requires prior compromise — this is a post-access escalation primitive, not an initial-access vector
Craft malicious ALPC message
- Knowledge of the heap layout and overflow trigger in the target build
- Ability to send ALPC messages (any authenticated user can do this)
- No public PoC — current exploitation appears limited to targeted threat actors with private exploits
- Heap layout may vary across Windows builds, requiring per-build offsets
Trigger heap corruption and gain SYSTEM
SeDebugPrivilege, SeImpersonatePrivilege, and all other god-mode capabilities.- Successful heap spray / grooming to position target allocation adjacent to overflow
- Windows heap hardening (segment heap, guard pages) may reduce reliability on newer builds, but active exploitation proves bypass exists
- Exploit stability may vary — crash-to-BSOD risk on failed attempts
Post-exploitation: credential harvest or lateral movement
ntds.dit and DCSync capability — game over for the entire Active Directory forest. On a Hyper-V host, SYSTEM can access the hypervisor management plane and compromise guest VMs.- SYSTEM-level access achieved in step 3
- Credential Guard and LSASS protection (RunAsPPL) raise the bar for credential theft on hardened endpoints
- Network segmentation may limit lateral movement scope
The supporting signals.
| In-the-Wild Exploitation | Confirmed active. Microsoft tags this as exploited in the wild. One of two zero-days in the September 2026 Patch Tuesday. Threat actor identity and campaign details withheld by Microsoft. |
|---|---|
| Public PoC Availability | None public as of 2026-09-09. No GitHub repositories or researcher disclosures for CVE-2026-85880 specifically. A related ALPC EoP (CVE-2026-20817, WER service) has a public PoC by oxfemale and writeup by itm4n — the exploitation pattern is structurally similar. |
| EPSS Score | Not yet scored (CVE just disclosed in September 2026 Patch Tuesday cycle). Expect rapid escalation given confirmed exploitation. |
| KEV Status | Not listed as of 2026-09-09. Expect CISA addition within days given Microsoft's exploitation confirmation. |
| CVSS Vector | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H — Local vector, low complexity, low privilege, no user interaction. Full CIA impact. The Exploitability maturity is Unproven (E:U), which is already stale given confirmed ITW exploitation. |
| Affected Versions | Windows 10 builds 14393.x (1607/LTSB), 17763.x (1809/LTSC), 19044.x (21H2), and at least 4 additional builds. Windows 11 24H2 and 25H2. Windows Server 2016, 2019, 2022, and 2025 (ALPC is core OS). |
| Fixed Versions | September 2026 cumulative updates: KB5122876 (Windows Server), KB5122878 (Windows 10), KB5124008 (Windows 11 24H2/25H2). Apply the cumulative update for your specific OS build. |
| Scanning / Exposure Data | Not applicable for remote scanning — this is a local EoP. No GreyNoise/Shodan/Censys signature expected. Exposure is the entire unpatched Windows fleet. |
| Disclosure Date | 2026-09-08 (Microsoft September 2026 Patch Tuesday) |
| Reporting Researcher | Not disclosed. Microsoft has withheld attribution, which is common for zero-days under active exploitation to limit intelligence leakage to defenders. |
noisgate verdict.
The single most decisive factor is confirmed active zero-day exploitation against a component present on every Windows host — including domain controllers, where SYSTEM access equals domain compromise. The vendor's HIGH 7.8 correctly models the local attack vector in isolation, but a locally-exploitable EoP that is already weaponized in the wild against the entire Windows installed base, with domain-controller blast radius proven by the ALPC exploitation pattern, demands CRITICAL urgency.
Why this verdict
- Active zero-day exploitation overrides theoretical friction. The local-access prerequisite is the primary downward pressure in the vendor score, but Microsoft confirms attackers are already landing this chain in the wild. Theoretical friction is irrelevant when exploitation is empirically proven.
- Universal attack surface with no version narrowing. ALPC is a core Windows IPC mechanism compiled into every supported Windows version from Server 2016 through Windows 11 25H2. There is no 'we don't run that component' escape hatch — if you run Windows, you're affected.
- Role multiplier: domain controllers and Hyper-V hosts. ALPC runs on domain controllers (≈2-5% of enterprise Windows fleet) and Hyper-V hosts (≈5-15%). On a DC, SYSTEM access grants direct ntds.dit access and DCSync capability — chain ends in domain takeover. On Hyper-V, SYSTEM accesses the hypervisor management plane — chain ends in fleet compromise. Both roles represent well above the 1% threshold. Because the bug is in a universal OS component (not role-defining software), the floor is HIGH per the ≥1% high-value-role rule; active exploitation pushes above the floor to CRITICAL.
- CWE-122 heap overflow in kernel-adjacent IPC. This is not a logic bug with narrow trigger conditions — heap overflows in IPC subsystems are a well-understood exploitation primitive with decades of tooling (heap spray, grooming). The related CVE-2026-20817 ALPC EoP already has a public exploit demonstrating the pattern.
- E:U temporal modifier is stale. The CVSS vector includes E:U (Unproven exploitability) which directly contradicts Microsoft's own active-exploitation tag. Correcting to E:H would raise the temporal score significantly.
Why not higher?
The score is already at the CRITICAL threshold. A 10.0 would require unauthenticated remote exploitation with no user interaction (wormable). This vulnerability requires local access and low-privilege authentication, which limits it from reaching the theoretical maximum.
Why not lower?
Downgrading below CRITICAL would require ignoring the confirmed active exploitation — the single strongest signal in vulnerability intelligence. The local-access prerequisite does create friction, but that friction is empirically defeated by real-world threat actors today. Additionally, the blast radius on domain controllers (domain takeover) and Hyper-V hosts (fleet compromise) sets a HIGH floor that cannot be broken without evidence that <1% of the installed base occupies these roles, which is demonstrably false for Windows.
What to do — in priority order.
- Deploy September 2026 cumulative updates immediately — KB5122876, KB5122878, and KB5124008 are the definitive fix. Given active exploitation and noisgate CRITICAL verdict, deploy within 3 days (noisgate mitigation SLA). Prioritize domain controllers, Hyper-V hosts, and Tier 0 assets in the first 24 hours.
- Enable LSASS RunAsPPL and Credential Guard on all servers — Even if the attacker achieves SYSTEM, Protected Process Light on LSASS and Credential Guard prevent trivial credential dumping, breaking the post-exploitation chain. Deploy within 3 days on Tier 0 assets.
- Enforce least-privilege and remove local interactive logon rights — The attack requires low-privilege local code execution. Restricting interactive logon and removing unnecessary local accounts reduces the pool of hosts where an attacker can land the prerequisite. Audit via GPO
Allow log on locallysettings. - Enable ALPC-aware EDR detections — Ensure your EDR is updated with September 2026 signatures. CrowdStrike, SentinelOne, and Defender for Endpoint have released behavioral detections for ALPC-based EoP patterns. Validate detection fires in your environment.
- Segment domain controllers and Tier 0 assets — Restrict which hosts can communicate with DCs to only authorized management workstations and member servers. This limits the attacker's ability to reach the highest-value targets even after local compromise of a workstation.
- Network firewalls and WAFs — This is a local privilege escalation, not a network-exploitable vulnerability. Perimeter controls provide zero protection.
- Application allowlisting alone — The exploit operates through legitimate ALPC system calls, not by launching a new executable. Allowlisting won't block the initial privilege escalation, only potential post-exploitation payloads.
- Disabling ALPC — ALPC is a fundamental Windows IPC mechanism. Disabling it would render the OS non-functional. This is not a configurable service you can turn off.
Crowdsourced verification payload.
Run this on each target Windows host with local administrator privileges. Example: powershell -ExecutionPolicy Bypass -File Check-CVE202685880.ps1. The script checks the installed cumulative update against the patched build numbers for September 2026.
#Requires -RunAsAdministrator
# Check-CVE202685880.ps1
# Checks whether the September 2026 cumulative update addressing CVE-2026-85880 is installed.
# Outputs: VULNERABLE / PATCHED / UNKNOWN
# Exit codes: 1 = VULNERABLE, 0 = PATCHED, 2 = UNKNOWN
$ErrorActionPreference = 'Stop'
try {
$os = Get-CimInstance Win32_OperatingSystem
$build = [System.Environment]::OSVersion.Version
$currentBuild = $build.Build
$currentRevision = $build.Revision
# Also check via UBR registry key for accuracy
$ubr = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name UBR -ErrorAction SilentlyContinue).UBR
if ($ubr) { $currentRevision = $ubr }
Write-Host "OS: $($os.Caption) Build: $currentBuild.$currentRevision"
# Patched build revisions from September 2026 Patch Tuesday
# Map: major build -> minimum patched revision
$patchedBuilds = @{
14393 = 9512 # Windows Server 2016 / Win10 1607
17763 = 9245 # Windows Server 2019 / Win10 1809
19044 = 7725 # Windows 10 21H2
19045 = 7725 # Windows 10 22H2
22621 = 6500 # Windows 11 22H2 (estimated)
22631 = 6500 # Windows 11 23H2 (estimated)
26100 = 9445 # Windows 11 24H2
26200 = 9445 # Windows 11 25H2
}
# Check for September 2026 KB
$kbs = @('KB5122876','KB5122878','KB5124008')
$installedKB = Get-HotFix -ErrorAction SilentlyContinue | Where-Object { $kbs -contains $_.HotFixID }
if ($installedKB) {
Write-Host "PATCHED - Found $($installedKB.HotFixID -join ', ')"
exit 0
}
if ($patchedBuilds.ContainsKey($currentBuild)) {
$requiredRevision = $patchedBuilds[$currentBuild]
if ($currentRevision -ge $requiredRevision) {
Write-Host "PATCHED - Build revision $currentBuild.$currentRevision >= $currentBuild.$requiredRevision"
exit 0
} else {
Write-Host "VULNERABLE - Build $currentBuild.$currentRevision is below patched revision $currentBuild.$requiredRevision"
Write-Host "Apply the September 2026 cumulative update immediately."
exit 1
}
} else {
Write-Host "UNKNOWN - Build $currentBuild not in known affected list. Verify manually against MSRC advisory."
exit 2
}
} catch {
Write-Host "UNKNOWN - Error during check: $_"
exit 2
}If you remember one thing.
Sources
- Microsoft September 2026 Patch Tuesday - CybersecurityNews
- September 2026 Patch Tuesday Zero-Days - SecurityOnline
- September 2026 Patch Tuesday - NTCompatible
- CVE-2026-20817 ALPC EoP PoC - oxfemale/GitHub
- CVE-2026-20817 ALPC EoP Writeup - itm4n
- Windows 11 KB5124008 September 2026 Update - Microsoft Support
- Cryptika - September 2026 Patch Tuesday Analysis
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.