← Back to Feed CACHED · 2026-09-09 09:44:20 · CACHE_KEY CVE-2026-83501
CVE-2026-83501 · CWE-125 · Disclosed 2026-09-08

Windows Virtualization-Based Security (VBS) Enclave Out-of-Bounds Read Information Disclosure

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

Someone already inside your house can peek through the safe's keyhole, but they can't open it or move to the next house

CVE-2026-83501 is an out-of-bounds read (CWE-125) in Windows Virtualization-Based Security (VBS) Enclave, the hypervisor-backed trusted execution environment that protects secrets like Credential Guard material, Windows Hello biometric data, and SQL Server Always Encrypted processing buffers. A local, authenticated attacker with low privileges can trigger the OOB read to disclose memory contents from the enclave boundary. Affected builds span Windows 10 22H2 (< 10.0.22631.7582), Windows 11 24H2 (< 10.0.26100.9445), Windows 11 25H2 (< 10.0.26200.9445), and Windows Server 2025 (< 10.0.28000.2954). Microsoft patched it in the September 8, 2026 Patch Tuesday cycle.

Microsoft assigned CVSS 5.5 MEDIUM, which tracks with reality. The vector is AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N — local access, low privilege, high confidentiality impact, zero integrity or availability impact. The C:H reflects that enclave memory may contain high-value secrets, but the local-only attack vector and lack of any code execution or scope change keep this squarely in MEDIUM territory. There is no evidence of in-the-wild exploitation, no public PoC, and no KEV listing. This is a *defense-in-depth erosion* bug, not a breach vector on its own.

"Local info-disclosure from VBS enclave: real but bounded, no path to RCE or lateral movement"
02 · The Attack Path

3 steps from start to impact.

STEP 01

Gain local authenticated access

The attacker must have an interactive or service-level session on the target Windows host, running as a low-privileged user (standard domain user or local user). This is a post-initial-access prerequisite — the attacker is already inside the perimeter and on the specific machine.
Conditions required:
  • Local or RDP session on the target host
  • Low-privilege authenticated user account
Where this breaks in practice:
  • Requires prior compromise of the endpoint via phishing, lateral movement, or physical access
  • EDR and host-based logging should detect anomalous logon events
Detection/coverage: Windows Security Event 4624 (logon type 2, 3, or 10); EDR telemetry for interactive sessions from unusual accounts.
STEP 02

Trigger OOB read against VBS enclave

The attacker invokes a VBS enclave API or crafted system call that triggers the out-of-bounds read condition. Because VBS enclaves are hypervisor-isolated, the read crosses the enclave boundary and returns memory contents that should be protected. No elevated privileges or UAC bypass are required — low-privilege user context suffices.
Conditions required:
  • VBS must be enabled on the host (Credential Guard, HVCI, or application-level VBS enclaves)
  • Target Windows build must be in the affected range
Where this breaks in practice:
  • VBS is not universally enabled — many organizations have it on endpoints but not all servers
  • The attacker needs to know which enclave API to target; no public PoC exists yet
  • Exploitation tooling is non-trivial without a published PoC
Detection/coverage: Kernel ETW tracing for anomalous enclave API calls; Sysmon or EDR hooking on CreateEnclave/LoadEnclaveData APIs.
STEP 03

Exfiltrate disclosed enclave memory

The disclosed memory may contain Credential Guard NTLM/Kerberos ticket material, Windows Hello keys, or application-specific secrets (e.g., SQL Always Encrypted plaintext). The attacker collects and exfiltrates this data. The impact is strictly information disclosure — there is no write primitive, no code execution within the enclave, and no scope change to other hosts.
Conditions required:
  • Valuable secrets must be present in the enclave at the time of the read
  • Attacker must be able to exfiltrate the disclosed bytes off-host
Where this breaks in practice:
  • Credential Guard secrets rotate; the window of usefulness for stolen material may be narrow
  • DLP and network monitoring can detect unusual data exfiltration from endpoints
  • The disclosed data is raw memory — parsing it into usable credentials requires additional tooling
Detection/coverage: DLP solutions monitoring for credential-shaped data leaving endpoints; network anomaly detection for unusual outbound transfers from workstations.
03 · Compensating Control

1
Prioritize patching VBS-enabled hosts — Use your vulnerability scanner or SCCM/Intune to identify hosts where VBS/Credential Guard is active and prioritize the September cumulative update for those. Hosts without VBS enabled are not exploitable. No mitigation SLA applies for MEDIUM — go straight to the 365-day noisgate remediation SLA.
2
Audit VBS/Credential Guard enablement status — Run Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard across fleet to understand your actual exposure. Hosts returning VirtualizationBasedSecurityStatus = 2 (running) are in scope.
3
Harden local logon access — Restrict interactive and RDP logon to domain controllers and sensitive servers using Group Policy (User Rights Assignment → 'Allow log on locally'). This reduces the pool of accounts that could trigger the local exploit on high-value hosts.
4
Monitor for anomalous enclave API usage — If your EDR supports it, create detection rules for unusual calls to CreateEnclave, LoadEnclaveData, or CallEnclave APIs from non-standard processes. This provides early warning if exploitation tooling emerges.
What doesn't work
  • Network segmentation / firewalling — This is a local vulnerability (AV:L). Network controls do not affect exploitability since the attacker is already on the host.
  • Application allowlisting alone — The OOB read may be triggerable through legitimate system APIs rather than a standalone malicious binary, potentially bypassing allowlist enforcement.
  • Disabling VBS — While this removes the vulnerable component, it also removes Credential Guard and HVCI protections, which is a net security regression. Do not disable VBS to mitigate this.
04 · Intelligence Metadata

The supporting signals.

In-the-Wild ExploitationNone observed. Not listed in CISA KEV. No reports from Microsoft, CrowdStrike, or Talos of active exploitation.
Proof-of-ConceptNo public PoC available as of 2026-09-09. The vulnerability was disclosed only yesterday (Sept 8 Patch Tuesday). Exploitation complexity for VBS enclave bugs is non-trivial.
EPSS ScoreNot yet scored. CVE was published 2026-09-08; EPSS model has not yet ingested it. Expected to be low given local-only vector and info-disclosure-only impact.
KEV StatusNot listed. No CISA KEV entry.
CVSS VectorCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N — Local attack, low complexity, low privilege, no user interaction, unchanged scope. High confidentiality impact only; no integrity or availability impact.
Affected VersionsWindows 10 22H2 (< 10.0.22631.7582), Windows 11 24H2 (< 10.0.26100.9445 / 10.0.26100.33438), Windows 11 25H2 (< 10.0.26200.9445), Windows Server 2025 (< 10.0.28000.2954)
Fixed Versions10.0.22631.7582, 10.0.26100.9445, 10.0.26100.33438, 10.0.26200.9445, 10.0.28000.2954 — all via September 2026 cumulative updates
Scanning / ExposureNot externally exploitable. Local-only vector means Shodan/Censys/GreyNoise have no exposure signal. Qualys/Tenable/Rapid7 should have detection via Windows build version checks within 24-48 hours of Patch Tuesday.
Disclosure Date2026-09-08 (September 2026 Patch Tuesday). Reserved 2026-08-31.
ReporterNot publicly credited in available advisories.

Sources.

  1. THREATINT CVE-2026-83501 Detail
  2. Talos - Microsoft Patch Tuesday September 2026
  3. CrowdStrike - September 2026 Patch Tuesday Analysis
  4. CybersecurityNews - September 2026 Patch Tuesday
  5. Microsoft Learn - VBS Enclaves Overview
  6. Microsoft Security Blog - VBS Memory Enclaves
  7. Tech-Insider - Patch Tuesday September 2026
05 · The Call

Final Verdict
= UNCHANGED to MEDIUM (5.5/10)

Why this verdict

  • Local-only, post-compromise prerequisite: AV:L means the attacker must already have a foothold on the specific target host. This is not an initial access vector — it's a privilege/information escalation step that compounds on a prior chain.
  • Information disclosure only, no code execution: C:H/I:N/A:N means the attacker reads secrets but cannot write, execute, or disrupt. The scope is Unchanged (S:U), so impact is confined to the single host.
  • No PoC, no exploitation, no KEV: Published yesterday with zero public exploit code. VBS enclave internals are complex and poorly documented for attackers, raising the practical bar above what the AC:L vector suggests.
  • Role multiplier: VBS Enclave is deployed across enterprise Windows endpoints and servers. On workstations with Credential Guard, a successful read could leak cached NTLM hashes — blast radius is host-level, MEDIUM. On domain controllers with Credential Guard, leaked material could theoretically aid lateral movement, but the attacker already has local DC access which is itself a near-DA position — incremental value is marginal. On SQL servers with Always Encrypted enclaves, plaintext data exposure is bounded to that server's dataset. No role produces fleet-scale or supply-chain-scale impact from this info-disclosure alone. The floor remains MEDIUM because no high-value role outcome reaches domain/fleet compromise without chaining additional, separate vulnerabilities.
  • VBS enablement is not universal: While Microsoft pushes VBS/HVCI on modern hardware, many older fleet hosts and servers lack it or have it disabled. The exploitable population is a subset of Windows hosts, not the full Windows installed base.

Why not higher?

Promoting to HIGH would require either remote exploitability, a demonstrated chain to code execution, active exploitation, or a plausible single-hop path to domain/fleet compromise. None of these conditions are met. The local-only vector means the attacker is already inside the host — the incremental risk of reading enclave memory is real but bounded. No public PoC exists, and the scope is unchanged.

Why not lower?

Dropping to LOW would undervalue the C:H rating — VBS enclaves are *specifically designed* to protect the most sensitive secrets on the host (Credential Guard material, biometric keys). An OOB read that pierces that boundary defeats a deliberate security isolation mechanism. Even without a public PoC today, the low complexity (AC:L) and low privilege (PR:L) requirements mean weaponization is plausible once researchers dig in. The defense-in-depth erosion is meaningful.

06 · Verification

Crowdsourced verification payload.

Run on each target Windows host as a standard user (no admin required). Execute: powershell -ExecutionPolicy Bypass -File .\Check-CVE-2026-83501.ps1. The script checks whether VBS is active and whether the OS build is in the affected range.

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
#Requires -Version 5.1
<# Check-CVE-2026-83501.ps1
   Checks if the host is vulnerable to CVE-2026-83501
   (OOB Read in Windows VBS Enclave)
   Output: VULNERABLE / PATCHED / UNKNOWN
   Exit codes: 1 = VULNERABLE, 0 = PATCHED, 2 = UNKNOWN
#>

$ErrorActionPreference = 'Stop'

try {
    # Check VBS status
    $dg = Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard -ErrorAction SilentlyContinue
    if (-not $dg -or $dg.VirtualizationBasedSecurityStatus -ne 2) {
        Write-Host "PATCHED - VBS is not running on this host; CVE-2026-83501 is not exploitable."
        exit 0
    }

    # Get OS build
    $build = [System.Environment]::OSVersion.Version
    $fullBuild = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').UBR
    $major = $build.Build
    $patch = $fullBuild

    Write-Host "VBS is ACTIVE. OS Build: $major.$patch"

    # Affected ranges and their fixed UBR values
    $vulnerable = $false
    switch ($major) {
        22631 { if ($patch -lt 7582) { $vulnerable = $true } } # Win10 22H2
        26100 { if ($patch -lt 9445) { $vulnerable = $true } } # Win11 24H2
        26200 { if ($patch -lt 9445) { $vulnerable = $true } } # Win11 25H2
        28000 { if ($patch -lt 2954) { $vulnerable = $true } } # Server 2025
        default {
            Write-Host "UNKNOWN - Build $major is not in the known affected range. Verify manually."
            exit 2
        }
    }

    if ($vulnerable) {
        Write-Host "VULNERABLE - CVE-2026-83501: Build $major.$patch is below the fixed version. Apply September 2026 cumulative update."
        exit 1
    } else {
        Write-Host "PATCHED - Build $major.$patch is at or above the fixed version."
        exit 0
    }
} catch {
    Write-Host "UNKNOWN - Error during check: $_"
    exit 2
}