← Back to Feed CACHED · 2026-09-09 10:31:48 · CACHE_KEY CVE-2026-69906
CVE-2026-69906 · CWE-122 · Disclosed 2026-09-08

Heap-based buffer overflow in Windows Secure Kernel Mode

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

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.

"VBS escape needs SYSTEM first, but breaks Credential Guard on your most critical hosts."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Obtain SYSTEM on the target host

The attacker must first achieve SYSTEM-level privilege on a Windows host where VBS is enabled. This could come from any number of prior exploit chains — service exploitation, credential theft, lateral movement with a domain admin token, or a compromised endpoint agent. The PR:H prerequisite means the attacker has already won the conventional privilege escalation game.
Conditions required:
  • Local or RDP access to the target host
  • SYSTEM or equivalent administrative privileges already obtained
Where this breaks in practice:
  • 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
Detection/coverage: EDR process telemetry, Windows Event ID 4672 (special privilege logon), Sysmon Event ID 1 with integrity level System
STEP 02

Trigger heap overflow in Secure Kernel

The attacker invokes a crafted hypercall or interacts with a VBS-managed interface to trigger the heap-based buffer overflow in the Secure Kernel. Because this operates below the NT kernel in the VTL 1 (Virtual Trust Level 1) context, standard kernel debugging and most EDR hooks do not observe the corruption. No public PoC exists yet; researcher vmpr0be has stated detailed exploit code will be released in an upcoming blog post.
Conditions required:
  • SYSTEM privilege on a VBS-enabled host
  • Knowledge of the specific heap layout and overflow trigger — no public PoC as of 2026-09-09
Where this breaks in practice:
  • 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
Detection/coverage: No reliable runtime detection — Secure Kernel operates below standard OS telemetry. Patch-level auditing is the primary control.
STEP 03

Escape VBS isolation boundary

Successful heap corruption grants the attacker code execution within VTL 1, the Secure Kernel's trust level. This crosses the Changed Scope boundary (S:C in the CVSS vector). The attacker now operates in the same context that protects Credential Guard secrets, HVCI policy enforcement, and VBS-protected enclaves.
Conditions required:
  • Successful exploitation of the heap overflow in step 2
Where this breaks in practice:
  • 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
Detection/coverage: No standard detection mechanism — this occurs entirely within the hypervisor-managed secure environment.
STEP 04

Harvest Credential Guard-protected secrets

With VTL 1 execution, the attacker reads memory regions containing NTLM password hashes, Kerberos TGT keys, and DPAPI master keys that Credential Guard was isolating from the NT kernel. On a domain controller, this is equivalent to a full credential harvest — DCSync without touching DRSUAPI, invisible to most SIEM detections that monitor replication traffic.
Conditions required:
  • VTL 1 code execution from step 3
  • Target host must be running Credential Guard with cached domain credentials
Where this breaks in practice:
  • 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
Detection/coverage: Post-compromise detection: monitor for anomalous authentication using harvested credentials (impossible to detect the harvest itself at VTL 1). Golden ticket / pass-the-hash detections downstream.
03 · Intelligence Metadata

The supporting signals.

In-the-Wild ExploitationNo. 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 ConceptNot 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 ScoreNot 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 StatusNot listed. No CISA KEV entry as of 2026-09-09.
CVSS VectorCVSS: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 VersionsWindows 10, Windows 11, and Windows Server editions with Secure Kernel Mode / VBS support. Specific build numbers pending MSRC advisory detail.
Fixed VersionSeptember 2026 Patch Tuesday cumulative updates. Specific KB articles per OS version available via Microsoft Update Guide.
Scanning / ExposureVBS-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 Date2026-09-08 (Microsoft September 2026 Patch Tuesday)
Researchervmpr0be — coordinated disclosure via MSRC
04 · The Call

noisgate verdict.

Final Verdict
= UNCHANGED to HIGH (8.0/10)

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.

HIGH Vulnerability mechanics and impact assessment
MEDIUM Exploitation feasibility without public PoC
LOW Fleet-wide VBS/Credential Guard adoption rates

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.

05 · Compensating Control

What to do — in priority order.

  1. 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\DeviceGuard across your fleet. Hosts without VBS enabled are not meaningfully affected. Complete this inventory within 30 days per the noisgate mitigation SLA for HIGH.
  2. 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.
  3. 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.
  4. 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.
What doesn't work
  • 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).
06 · Verification

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).

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
# 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
}
07 · Bottom Line

If you remember one thing.

TL;DR
This is a real but gated threat: only hosts running VBS/Credential Guard are exposed, and the attacker must already hold SYSTEM privileges. Your Monday morning action is to inventory VBS-enabled hosts (especially domain controllers and identity-tier servers) and slot them into your next patch window. Per the noisgate mitigation SLA for HIGH severity, deploy compensating controls (prioritized EDR coverage, LAPS enforcement, LSA protection on DCs) within 30 days. Per the noisgate remediation SLA, apply the September 2026 cumulative update to all affected hosts within 180 days, but push DCs and Credential Guard-protected servers to the front of the queue — ideally within your next scheduled maintenance window. No immediate emergency action is required: there is no public PoC, no KEV listing, and no observed exploitation. If vmpr0be's PoC drops before you patch, re-evaluate urgency and accelerate DCs to the 3-day window.

Sources

  1. Microsoft September 2026 Patch Tuesday — Qualys Review
  2. CrowdStrike September 2026 Patch Tuesday Analysis
  3. Cisco Talos — September 2026 Patch Tuesday
  4. BrinzTech — Three EoP Vulnerabilities in Windows Secure Kernel
  5. Windows Secure Kernel Internals — Parag Mali
  6. Microsoft Security Update Guide
  7. CyberSecurityNews — September 2026 Patch Tuesday
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.