Someone already inside the vault convinces the vault door it was never locked
CVE-2026-69906 is a heap-based buffer overflow (CWE-122) in the Windows Secure Kernel Mode component — the hypervisor-backed isolation layer that powers Virtualization-Based Security (VBS) and Credential Guard. Exploitation requires local access with high privileges (SYSTEM or equivalent), but because the CVSS Scope is Changed (S:C), a successful exploit crosses the VBS trust boundary, giving the attacker access to secrets that are supposed to be protected *even from SYSTEM-level compromise*. The vulnerability affects Windows 10, Windows 11, and Windows Server editions that support VBS, and was patched in Microsoft's September 2026 Patch Tuesday (disclosed 2026-09-08). Researcher vmpr0be is credited with discovery via coordinated disclosure to MSRC.
Microsoft rated this HIGH at CVSS 8.2, which is broadly fair but could understate the impact on high-value hosts. On a standard workstation without Credential Guard enabled, the vuln is an academic curiosity — you already have SYSTEM, and there is nothing behind the VBS boundary worth stealing. But on a domain controller or any server running Credential Guard, breaking VBS isolation means harvesting NTLM hashes, Kerberos keys, and DPAPI master keys that Credential Guard was specifically designed to protect from kernel-level attackers. The vendor score captures the mechanics correctly; the real-world severity depends entirely on *where* the affected host sits in your environment.
4 steps from start to impact.
Obtain SYSTEM on the target host
- Local or RDP access to the target host
- SYSTEM or equivalent administrative privileges already obtained
- Requires a complete prior compromise chain — initial access, execution, and privilege escalation must already be solved
- EDR and identity monitoring should flag SYSTEM-level activity before the attacker reaches this stage
Trigger heap overflow in Secure Kernel
- SYSTEM privilege on a VBS-enabled host
- Knowledge of the specific heap layout and overflow trigger — no public PoC as of 2026-09-09
- Secure Kernel heap layout is non-trivial to predict; ASLR and heap randomization apply at VTL 1
- No public exploit code available yet — weaponization requires original research or the forthcoming vmpr0be writeup
Escape VBS isolation boundary
- Successful exploitation of the heap overflow in step 2
- Heap exploitation reliability varies across Windows builds and hardware configurations
- HVCI (Hypervisor-enforced Code Integrity) may complicate arbitrary code execution within VTL 1 depending on configuration
Harvest Credential Guard-protected secrets
- VTL 1 code execution from step 3
- Target host must be running Credential Guard with cached domain credentials
- Credential Guard must actually be enabled — many enterprises have not yet rolled out VBS fleet-wide
- On hosts without Credential Guard, there are no additional secrets behind the VBS boundary beyond what SYSTEM already has
The supporting signals.
| In-the-Wild Exploitation | No. Not listed on CISA KEV. No known campaigns. The two September 2026 zero-days are CVE-2026-81963 (Windows Update Stack) — not this CVE. |
|---|---|
| Proof of Concept | Not yet public. Researcher vmpr0be disclosed via MSRC coordinated process. A detailed technical blog with PoC is *forthcoming* but not released as of 2026-09-09. |
| EPSS Score | Not yet scored — CVE was disclosed 2026-09-08, EPSS data typically lags 1-3 days for new CVEs. Expect low initial EPSS given no public exploit. |
| KEV Status | Not listed. No CISA KEV entry as of 2026-09-09. |
| CVSS Vector | CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H — Local access, low complexity, high privileges required, no user interaction, Changed scope (crosses VBS boundary), full CIA impact. |
| Affected Versions | Windows 10, Windows 11, and Windows Server editions with Secure Kernel Mode / VBS support. Specific build numbers pending MSRC advisory detail. |
| Fixed Version | September 2026 Patch Tuesday cumulative updates. Specific KB articles per OS version available via Microsoft Update Guide. |
| Scanning / Exposure | VBS-enabled hosts are the exposure surface. Per Microsoft telemetry, VBS is enabled by default on Windows 11 22H2+ and secured-core servers. Fleet exposure depends on OS mix and Credential Guard GPO deployment. |
| Disclosure Date | 2026-09-08 (Microsoft September 2026 Patch Tuesday) |
| Researcher | vmpr0be — coordinated disclosure via MSRC |
noisgate verdict.
The single most decisive factor is the Changed Scope crossing the VBS trust boundary on domain controllers, where successful exploitation converts an already-SYSTEM attacker into one who can harvest Credential Guard-protected domain credentials — a blast radius that reaches fleet-wide compromise. The PR:H prerequisite (attacker must already hold SYSTEM) prevents elevation to CRITICAL, but the hypervisor-escape impact on high-value hosts floors the verdict at HIGH.
Why this verdict
- PR:H friction is real but not disqualifying: The attacker needs SYSTEM before this vuln matters, which means an entire prior kill chain must succeed. This is meaningful downward pressure — but post-exploitation capability against VBS is exactly what APT operators invest in.
- Role multiplier — domain controllers and identity infrastructure: On a DC running Credential Guard, this vuln converts SYSTEM (which cannot read VBS-isolated secrets) into full credential harvest capability. The blast radius is domain-wide compromise. DCs are the canonical deployment target for Credential Guard, making this a high-value-role component by definition. Verdict floor: HIGH.
- No public PoC and no in-the-wild exploitation: As of 2026-09-09, weaponization requires original research. The vmpr0be PoC is forthcoming but not released. This reduces urgency but does not reduce severity — the capability gap is temporary.
- VBS adoption is growing but not universal: Windows 11 enables VBS by default; many Server deployments have Credential Guard via GPO. The exposed population is substantial and growing, but not 100% of Windows hosts. Hosts without VBS enabled gain nothing from this vuln beyond what SYSTEM already provides.
Why not higher?
CRITICAL would require either active exploitation or a lower privilege prerequisite. This vuln demands SYSTEM-level access before it becomes relevant — the attacker must already have won the conventional privilege escalation battle. No PoC is public, no campaigns are documented, and CISA has not added it to KEV. The Changed Scope is severe but gated behind the highest possible local privilege requirement.
Why not lower?
Downgrading to MEDIUM would ignore the VBS trust boundary crossing and the blast radius on Credential Guard-protected domain controllers. The Secure Kernel is a hypervisor-level component; vulnerabilities here are categorically more dangerous than standard EoP bugs because they defeat the security boundary that was specifically designed to contain SYSTEM-level compromise. The role multiplier on identity infrastructure floors this at HIGH.
What to do — in priority order.
- Audit and document which hosts have VBS and Credential Guard enabled — You cannot prioritize patching without knowing your exposure surface. Query
Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuardacross your fleet. Hosts without VBS enabled are not meaningfully affected. Complete this inventory within 30 days per the noisgate mitigation SLA for HIGH. - Prioritize patching on domain controllers and identity-tier servers first — DCs running Credential Guard are the highest-value targets for this vuln. Patch these hosts in your next maintenance window, ideally within 30 days. Standard member servers and workstations can follow in the normal cumulative update cadence.
- Harden pre-requisite attack paths to SYSTEM — This vuln is useless without SYSTEM. Ensure EDR coverage is current, enforce LSA protection (RunAsPPL), enable Attack Surface Reduction rules, and limit local admin rights via LAPS or PAM. These controls raise the cost of reaching the prerequisite privilege level.
- Monitor for anomalous credential use post-patch-gap — If an attacker harvests Credential Guard secrets, the first observable indicator will be downstream — golden tickets, pass-the-hash from unusual sources, or Kerberos anomalies. Ensure your SIEM has detections for these patterns while the patch rolls out.
- Disabling VBS/Credential Guard — removes the vuln's impact but also removes the security control it provides, which is a net negative. You are trading a theoretical post-SYSTEM attack for the loss of credential isolation against all other threats.
- Network segmentation alone — this is a local privilege escalation with AV:L; network controls do not affect the attack path. The attacker is already on the host.
- Application whitelisting / AppLocker — operates at the NT kernel level (VTL 0) and has no visibility or enforcement capability within the Secure Kernel (VTL 1).
Crowdsourced verification payload.
Run on each target host with administrator privileges. Example: powershell -ExecutionPolicy Bypass -File .\Check-CVE-2026-69906.ps1. Reports whether the host is VULNERABLE (VBS enabled + unpatched), PATCHED, or NOT AFFECTED (VBS not enabled).
# Check-CVE-2026-69906.ps1
# Checks for CVE-2026-69906: Heap overflow in Windows Secure Kernel Mode
# Requires: Administrator privileges
# Output: VULNERABLE / PATCHED / NOT AFFECTED / UNKNOWN
$ErrorActionPreference = 'Stop'
try {
# Check if VBS is enabled
$dg = Get-CimInstance -ClassName Win32_DeviceGuard -Namespace 'root\Microsoft\Windows\DeviceGuard' -ErrorAction SilentlyContinue
if (-not $dg -or $dg.VirtualizationBasedSecurityStatus -ne 2) {
Write-Host 'NOT AFFECTED - VBS is not running on this host. The Secure Kernel attack surface is not present.'
exit 0
}
# Check OS build for September 2026 patch
$build = [System.Environment]::OSVersion.Version
$hotfixes = Get-HotFix | Sort-Object -Property InstalledOn -Descending -ErrorAction SilentlyContinue
$kbSep2026 = $hotfixes | Where-Object { $_.HotFixID -match 'KB5124' -or $_.HotFixID -match 'KB5125' -or $_.HotFixID -match 'KB5126' }
# Check UBR (Update Build Revision) from registry
$ubr = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name UBR -ErrorAction SilentlyContinue).UBR
$currentBuild = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name CurrentBuildNumber -ErrorAction SilentlyContinue).CurrentBuildNumber
# September 2026 patches should be installed after 2026-09-08
$latestPatch = $hotfixes | Select-Object -First 1
$patchDate = if ($latestPatch) { $latestPatch.InstalledOn } else { $null }
if ($patchDate -and $patchDate -ge [datetime]'2026-09-08') {
Write-Host "PATCHED - Latest hotfix $($latestPatch.HotFixID) installed on $($patchDate.ToString('yyyy-MM-dd')). VBS is enabled (build $currentBuild.$ubr)."
exit 0
} elseif ($kbSep2026) {
Write-Host "PATCHED - September 2026 KB ($($kbSep2026[0].HotFixID)) found. VBS is enabled."
exit 0
} else {
Write-Host "VULNERABLE - VBS is ENABLED but no September 2026 patch detected. Build: $currentBuild.$ubr. Latest patch: $(if($latestPatch){$latestPatch.HotFixID + ' (' + $patchDate.ToString('yyyy-MM-dd') + ')'}else{'none found'})."
exit 1
}
} catch {
Write-Host "UNKNOWN - Error during check: $($_.Exception.Message)"
exit 2
}If you remember one thing.
Sources
- Microsoft September 2026 Patch Tuesday — Qualys Review
- CrowdStrike September 2026 Patch Tuesday Analysis
- Cisco Talos — September 2026 Patch Tuesday
- BrinzTech — Three EoP Vulnerabilities in Windows Secure Kernel
- Windows Secure Kernel Internals — Parag Mali
- Microsoft Security Update Guide
- CyberSecurityNews — September 2026 Patch Tuesday
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.