Someone left a loaded gun on the kitchen table, but it has a hair trigger that only fires when the wind blows just right
CVE-2026-69813 is a use-after-free in the Windows DNS Server service (dns.exe) that allows an unauthenticated remote attacker to send a specially crafted DNS packet and achieve code execution. The catch: exploitation requires winning a race condition (reflected in the CVSS vector's AC:H). Affected systems include every supported Windows Server version running the DNS Server role — Server 2016, 2019, 2022, and 2025 — plus legacy Windows 10 builds 1607 and 1809 that host the role. It was patched in the September 2026 Patch Tuesday alongside eight other DNS Server vulnerabilities.
Microsoft labels this Critical in their advisory but assigns a CVSS base score of only 8.1 — a tension that reflects the race condition difficulty versus the devastating impact. Their own Exploitability Index rates it "Exploitation Less Likely." That assessment is *technically accurate today* — no PoC exists, EPSS is a mere 0.67%, and nobody's seen it in the wild. But the vendor severity actually *undersells* the blast radius: in virtually every Active Directory environment, DNS runs directly on domain controllers. A successful exploit doesn't just pop a DNS server — it delivers SYSTEM on the box that holds your ntds.dit, issues Kerberos tickets, and processes Group Policy. The race condition is the only thing standing between this bug and SigRed-class impact.
4 steps from start to impact.
Identify exposed DNS Server
- Target runs Windows DNS Server role
- DNS port 53 (TCP/UDP) reachable from attacker's network position
- Well-segmented networks restrict DNS resolution to internal clients only
- External-facing DNS is increasingly delegated to cloud providers (Azure DNS, Cloudflare) rather than on-prem Windows DNS
Craft malicious DNS packet triggering UAF
dns.exe.- Knowledge of the specific UAF trigger (no public PoC exists as of 2026-09-10)
- Ability to send crafted packets to the DNS service
- No public PoC or exploit code available
- UAF exploitation on modern Windows requires bypassing Control Flow Guard (CFG) and other mitigations
- Heap grooming for
dns.exeis not publicly documented
Win the race condition
AC:H, meaning the exploit must win a timing-dependent race. The attacker likely needs to send multiple concurrent requests to create the precise interleaving of allocation, free, and reuse. This is inherently probabilistic — failure crashes the service rather than granting code execution.- Precise timing of concurrent DNS requests
- Tolerance for potential service crashes during failed attempts
- Race conditions on remote network services are notoriously unreliable — packet jitter, load variations, and scheduling randomness all reduce success probability
- Failed attempts crash
dns.exe, which restarts automatically but generates event logs and alerts - Repeated crashes are noisy and may trigger monitoring
dns.exe crashes. Network IDS signatures for anomalous DNS packet structures (Talos has Snort rules for September 2026 DNS CVEs).Achieve SYSTEM on domain controller
dns.exe, which runs as a privileged service. On a domain controller — which is where >90% of Windows DNS Server instances live — this is game over for the domain. The attacker can extract ntds.dit, forge Kerberos tickets (Golden Ticket), modify Group Policy, or pivot to every domain-joined host.- Successful race condition win from Step 3
- Target is a domain controller (highly likely for Windows DNS)
- Credential Guard on Server 2022+ protects some credential material in memory
- Domain controllers with multiple DCs provide redundancy but not isolation — one compromised DC means full domain compromise
dns.exe spawning unexpected child processes. LSASS access monitoring. DCSync detection via Windows Security Event 4662 with replication GUIDs. Sysmon ProcessCreate events from dns.exe.The supporting signals.
| In-the-Wild Exploitation | None observed. Microsoft rates exploitation as "Less Likely." No threat campaigns or APT usage reported as of 2026-09-10. |
|---|---|
| Proof-of-Concept | No public PoC. No exploit code found on GitHub, ExploitDB, or in curated PoC repositories (SecureWithUmer/CVE-2026-PoCs, pocindex). |
| EPSS Score | 0.00666 (0.67%) — bottom quartile. The model sees low near-term exploitation probability, consistent with race-condition complexity. |
| KEV Status | Not listed on CISA Known Exploited Vulnerabilities catalog as of 2026-09-10. |
| CVSS Vector | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H — Network-reachable, no auth, no user interaction, but high attack complexity (race condition). Temporal: 7.1 (E:U/RL:O/RC:C). |
| Affected Versions | Windows Server 2016, 2019, 2022, 2025 with DNS Server role. Windows 10 versions 1607 and 1809 (Server-adjacent builds). All architectures. |
| Fixed Versions | September 2026 Patch Tuesday cumulative updates. Specific KBs vary by OS version — check MSRC advisory for per-build KB numbers. |
| Scanning / Exposure | Windows DNS on port 53 is fingerprinted by Shodan/Censys. Internal exposure is near-universal in AD environments. External exposure is declining as orgs move to cloud DNS. |
| Disclosure | Disclosed 2026-09-08 via Microsoft Patch Tuesday. Not publicly disclosed prior to patch. No prior coordination leaks. |
| Related CVEs | Part of a cluster of 9 DNS Server CVEs in September 2026 Patch Tuesday, including CVE-2026-69730 (CVSS 9.8, "Exploitation More Likely"), CVE-2026-77505, CVE-2026-62787. Patch all together. |
noisgate verdict.
Role multiplier — Windows DNS Server is canonically co-located on Active Directory domain controllers; successful exploitation delivers SYSTEM on a DC, ending in full domain compromise. The race condition (AC:H) and absence of a public exploit prevent an even higher score, but they cannot pull the verdict below CRITICAL given that virtually 100% of Windows DNS Server instances occupy the single highest-value role in an enterprise network.
Why this verdict
- Role multiplier (decisive): Windows DNS Server runs on domain controllers in >90% of AD environments. Code execution as SYSTEM on a DC means
ntds.ditextraction, Golden Ticket forgery, GPO manipulation, and fleet-wide lateral movement. This single factor floors the verdict at CRITICAL regardless of exploitation difficulty. - Unauthenticated, zero-interaction, network-reachable: The CVSS vector (
AV:N/PR:N/UI:N) means any host that can reach port 53 on the DNS server can attempt the exploit. No credentials, no phishing, no user clicking required. - Race condition is real but not permanent friction:
AC:Hreflects today's difficulty. History shows DNS UAFs get weaponized — CVE-2020-1350 (SigRed) went from "complex" to reliable PoC within weeks. The complexity tax degrades over time as researchers publish heap analysis. - Cluster effect: This is one of 9 DNS CVEs in the same patch cycle, including CVE-2026-69730 at CVSS 9.8 with "Exploitation More Likely." Attackers researching one will discover the others. Patching must cover the entire cluster.
Why not higher?
The race condition (AC:H) is genuine exploitation friction today — not every attempt succeeds, and failures crash the DNS service visibly. There is no public PoC, no in-the-wild exploitation, and EPSS reflects near-zero near-term probability. A CVSS 10.0 / unconditional-CRITICAL would require reliable, deterministic exploitation, which this bug does not have today.
Why not lower?
Downgrading to HIGH would require either (a) the affected component to occupy a non-critical role in most deployments, or (b) a compensating control that blocks the attack path entirely. Neither applies: Windows DNS Server is *definitionally* a domain controller component in AD environments, and no WAF or network control can filter malicious DNS without breaking DNS functionality. The blast radius — full domain compromise — is too catastrophic to rate below CRITICAL even with exploitation friction.
What to do — in priority order.
- Restrict DNS Server network exposure to trusted segments only — Use host-based firewall rules (Windows Firewall with Advanced Security) or network ACLs to ensure only authorized clients and forwarders can reach port 53 on your DCs. This reduces the attacker population dramatically. Deploy within 3 days per noisgate mitigation SLA for CRITICAL.
- Enable enhanced DNS logging and crash monitoring — Configure DNS Analytical logging and monitor for
dns.execrash events (System Event IDs 7031, 7034). Repeated crashes are the telltale sign of race-condition exploitation attempts. Wire alerts to your SOC within 3 days. - Deploy Snort/Suricata rules for September 2026 DNS CVEs — Cisco Talos has published Snort signatures covering the September 2026 DNS vulnerability cluster. Deploy on network sensors monitoring DC traffic within 3 days.
- Patch the entire DNS CVE cluster together — Do not cherry-pick CVE-2026-69813 alone. Patch all 9 DNS Server CVEs from September 2026 in a single maintenance window. The cumulative update covers all of them. Complete remediation within 90 days per noisgate remediation SLA.
- Consider delegating external DNS to cloud providers — If your Windows DNS servers are internet-facing, migrate external resolution to Azure DNS, Cloudflare, or AWS Route 53. This eliminates the external attack surface for all current and future Windows DNS vulnerabilities. Plan and execute within 90 days.
- Web Application Firewalls (WAFs) do not inspect DNS traffic. They operate on HTTP/HTTPS and have zero visibility into DNS protocol exploitation.
- DNS-layer security products (Umbrella, Zscaler DNS) filter *client queries* for malicious domains — they do not inspect or sanitize packets arriving at your *authoritative DNS server*. They protect clients, not servers.
- Rate limiting DNS queries may slow exploitation attempts but cannot prevent them. The race condition requires concurrent requests, not high volume. Aggressive rate limiting will break legitimate DNS resolution before it stops a determined attacker.
Crowdsourced verification payload.
Run on each Windows Server hosting the DNS Server role. Requires local administrator privileges. Invoke: powershell -ExecutionPolicy Bypass -File .\Check-CVE-2026-69813.ps1
#Requires -RunAsAdministrator
<#
.SYNOPSIS
Checks whether the current host is vulnerable to CVE-2026-69813 (Windows DNS Server UAF RCE).
.DESCRIPTION
1. Verifies DNS Server role is installed.
2. Checks OS build against known-patched September 2026 cumulative updates.
Exit codes: 0 = PATCHED, 1 = VULNERABLE, 2 = UNKNOWN
#>
$ErrorActionPreference = 'Stop'
# Check if DNS Server role is installed
$dnsFeature = Get-WindowsFeature -Name DNS -ErrorAction SilentlyContinue
if (-not $dnsFeature -or $dnsFeature.InstallState -ne 'Installed') {
Write-Host "[UNKNOWN] DNS Server role is not installed on this host. CVE-2026-69813 does not apply."
exit 2
}
# Get OS version info
$os = Get-CimInstance Win32_OperatingSystem
$build = [System.Environment]::OSVersion.Version
$hotfixes = Get-HotFix | Sort-Object -Property InstalledOn -Descending
# September 2026 Patch Tuesday: 2026-09-08
# Check if any hotfix from September 2026 or later is installed
$patchDate = [datetime]'2026-09-08'
$septemberPatches = $hotfixes | Where-Object {
$_.InstalledOn -ge $patchDate
}
# Also check via Windows Update history for cumulative updates
$updateSession = New-Object -ComObject Microsoft.Update.Session
$updateSearcher = $updateSession.CreateUpdateSearcher()
try {
$historyCount = $updateSearcher.GetTotalHistoryCount()
$history = $updateSearcher.QueryHistory(0, [Math]::Min($historyCount, 50))
$recentCU = $history | Where-Object {
$_.Date -ge $patchDate -and
$_.Title -match 'Cumulative Update|Security Update' -and
$_.ResultCode -eq 2 # Succeeded
}
} catch {
$recentCU = $null
}
if ($septemberPatches -or $recentCU) {
$latestPatch = if ($septemberPatches) { $septemberPatches[0].HotFixID } else { $recentCU[0].Title }
Write-Host "[PATCHED] DNS Server role detected. September 2026 or later update found: $latestPatch"
Write-Host " OS: $($os.Caption) Build $($build.Build).$($build.Revision)"
exit 0
} else {
Write-Host "[VULNERABLE] DNS Server role is installed but NO September 2026 security update detected."
Write-Host " OS: $($os.Caption) Build $($build.Build).$($build.Revision)"
Write-Host " Action: Apply September 2026 cumulative update immediately."
Write-Host " Advisory: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-69813"
exit 1
}If you remember one thing.
Sources
- MSRC Advisory — CVE-2026-69813
- Tenable — September 2026 Patch Tuesday Analysis
- CrowdStrike — September 2026 Patch Tuesday Analysis
- Cisco Talos — September 2026 Patch Tuesday Snort Rules
- everyWAN — The DNS Server You Have to Patch Is Your Domain Controller
- MSRC API — CVE-2026-69813 Metadata
- Automox — September 2026 Patch Tuesday CVE Analysis
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.