← Back to Feed CACHED · 2026-07-15 07:32:08 · CACHE_KEY CVE-2026-50518
CVE-2026-50518 · CWE-122 · Disclosed 2026-07-14

Heap-based buffer overflow in Windows DHCP Server

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

A malformed DHCP option lands SYSTEM on the box that hands out every laptop's IP address

CVE-2026-50518 is a heap-based buffer overflow in the Windows DHCP Server role. The vulnerable code path fails to validate the size of a domain-name field inside an incoming DHCP request/relay message; an attacker on the same broadcast domain (or reachable via a DHCP relay agent) can craft a packet that overwrites heap metadata in the DHCP Server service and pivot to code execution as NT AUTHORITY\SYSTEM. Affects the DHCP Server role on Windows Server 2012 R2 through Windows Server 2025 — the DHCP *Client* is a separate CVE and not in scope here.

The vendor's CVSS 9.8 is *arithmetically* correct — AV:N/AC:L/PR:N/UI:N maps to 9.8 by the book. But the vector is misleading in real deployments: DHCP/UDP-67 is never internet-exposed on a sane network, and Microsoft's own guidance is that the service should live on trusted subnets or behind IP-helper relays. In practice this is an internal, post-initial-access vulnerability that ends in fleet-scale identity leverage. HIGH is the honest bucket; CRITICAL only applies to the negligible fraction of orgs running DHCP on an exposed edge.

"Unauth pre-auth RCE on a domain-adjacent Windows role — but DHCP is never internet-facing, so the blast is internal-only. Patch in 30 days, not tonight."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Attacker reaches the DHCP listener

The attacker needs to deliver a crafted DHCP DISCOVER/REQUEST/INFORM (UDP/67) to the vulnerable server. This means either L2 adjacency on a VLAN the DHCP server services, a compromised host on any subnet whose gateway runs ip-helper / DHCP relay to the target, or a rogue relay agent. No credentials required.
Conditions required:
  • Foothold on any client subnet served by the target scope
  • Or control of a device that can spoof a DHCP relay agent (giaddr)
  • UDP/67 reachable from that position
Where this breaks in practice:
  • DHCP is never exposed to the public internet in normal deployments
  • DHCP snooping on managed switches blocks rogue relays
  • Segmented management VLANs limit which hosts can even see the DHCP service
Detection/coverage: Nessus/Qualys/Rapid7 all authenticate to Windows and flag by KB — external unauth scans will miss this since UDP/67 doesn't appear in default TCP sweeps.
STEP 02

Craft the malformed domain-name option

The attacker builds a DHCP packet with an oversized or malformed option (per Microsoft's advisory language: 'malicious domain name data'). The unchecked length in the parsing routine drives a heap chunk overwrite. Public PoC would likely be a modified scapy DHCP builder or a fork of the classic dhcpd-fuzzer harnesses.
Conditions required:
  • Working knowledge of the DHCP option TLV structure
  • Ability to shape heap layout — likely via option-order priming across multiple packets
Where this breaks in practice:
  • Modern Windows heap hardening (LFH randomization, HEAP guard pages, CFG) makes reliable RCE hard on first shot
  • The service will often just crash → DoS before code exec, which is still bad but recoverable
Detection/coverage: No public PoC at the time of writing. Expect a Metasploit module and a dhcp_server_bof scanner check within 2-3 weeks if a working exploit is published.
STEP 03

Achieve SYSTEM on the DHCP server

Successful exploitation runs shellcode inside the dhcpserver.exe-hosted service, which executes as SYSTEM. The attacker now owns a Windows Server that is typically domain-joined and frequently co-located on a domain controller (a Microsoft-supported and extremely common small/mid-enterprise topology).
Conditions required:
  • Reliable exploit primitive from step 2
  • Service not sandboxed (it isn't)
Where this breaks in practice:
  • EDR (Defender for Endpoint, CrowdStrike, SentinelOne) will flag anomalous child processes of svchost.exe -k DHCPServer
  • Service auto-restart on crash gives multiple attempts but each generates 1000/1001 crash events
Detection/coverage: Windows Event Log 1000/1001 crashes of svchost.exe (DHCPServer), Sysmon EID 1 anomalous children of that svchost instance.
STEP 04

Pivot from DHCP server to domain

This is where severity is actually decided. If the DHCP server is standalone on a member server → contained. If it's co-hosted on a DC (very common) → instant Domain Admin. If standalone but AD-integrated, the DHCP AD object and any cached machine-account tickets give strong lateral pivots (ADIDNS poisoning, DHCP scope option abuse to redirect PXE/WPAD/DNS on every client renewal).
Conditions required:
  • SYSTEM on the DHCP host from step 3
  • Understanding of local topology
Where this breaks in practice:
  • Tier-0 admins who don't co-host DHCP on DCs
  • Split DHCP failover pairs on dedicated VMs limit blast to the DHCP tier
Detection/coverage: 4662/5136 on DHCP AD objects; sudden scope option modifications; new WPAD/DNS entries pushed to clients.
03 · Intelligence Metadata

The supporting signals.

In-the-wild exploitationNone observed as of 2026-07-15. Microsoft rates *Exploitation More Likely* on the exploitability index.
Public PoCNo public PoC at disclosure. Historically, Windows DHCP heap bugs (CVE-2019-0725, CVE-2021-38667, CVE-2023-28231) took 2–8 weeks before working exploits surfaced; expect the same window.
EPSSFresh CVE — EPSS < 1% today, will climb into the 5–15% band within 30 days based on comparable Windows RCEs.
KEV statusNot listed. CISA typically adds Windows RCEs only after confirmed in-the-wild abuse.
CVSS vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H = 9.8. Arithmetically Critical; contextually gated by internal-only reachability.
Affected versionsWindows Server 2012 R2, 2016, 2019, 2022, 2022 23H2, 2025 — Server Core and full installs — when the DHCP Server role is installed and enabled.
Fixed inJuly 2026 Patch Tuesday cumulative updates. Verify by installed KB per OS build; the July 2026 rollup is the authoritative fix.
Exposure populationShodan/Censys surface essentially zero internet-exposed Microsoft DHCP servers on UDP/67 — the protocol is broadcast-scoped and firewalled by default. Internal exposure is universal in AD environments.
Disclosure2026-07-14, Microsoft Patch Tuesday. Reporter credit not published in the initial MSRC entry.
RelatedOne of multiple DHCP RCEs in the July 2026 release per ZDI's Patch Tuesday review; treat the DHCP cluster as a single patching campaign.
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to HIGH (8.4/10)

Downgraded from CRITICAL to HIGH because the single decisive factor is reachability: DHCP/UDP-67 is architecturally an internal-only service, so any exploit requires the attacker to already hold a foothold on a client subnet or a relay-capable device. The verdict floor stays at HIGH — not lower — because the affected component's canonical deployment role is domain-adjacent, and on the common co-hosted-with-DC topology the chain ends in Domain Admin.

HIGH Vulnerability classification and affected product scope
HIGH No internet exposure of the service
MEDIUM Timeline to working public exploit (2–8 weeks based on precedent)
MEDIUM In-the-wild exploitation forecast

Why this verdict

  • Reachability collapses the CVSS Network vector. The 9.8 assumes AV:N is meaningful; in practice UDP/67 is L2/relay-scoped, so the attacker is already inside. That's one full severity bucket of adjustment down.
  • Role multiplier — standalone DHCP member server: chain ends at SYSTEM on one utility host. Blast radius: host-level. Bad but contained.
  • Role multiplier — DHCP co-hosted on a Domain Controller (very common in SMB/mid-market): chain ends in Domain Admin. Blast radius: entire AD forest. This is why the floor stays at HIGH and does not fall to MEDIUM.
  • Role multiplier — DHCP standalone but AD-integrated with scope-option control of clients: attacker can push malicious WPAD/DNS/PXE to every client renewal. Blast radius: fleet-wide credential capture / MITM. Also holds the HIGH floor.
  • No KEV, no public PoC, no observed campaigns today — pulls urgency down from 'patch tonight' to 'patch within the 30-day HIGH SLA'.
  • Exploitation-More-Likely rating from Microsoft + historic precedent (DHCP heap bugs consistently get weaponized within 2 months) keeps this out of the MEDIUM bucket.

Why not higher?

CRITICAL requires either internet-scale reachability (absent — service is never internet-exposed) or an active exploitation campaign (none observed). The chain requires a prior foothold on a serviced subnet or a relay-capable device; that's post-initial-access, which is by definition not CRITICAL for a broadly deployed product. If KEV lists it or a wormable PoC drops, re-rate to CRITICAL immediately.

Why not lower?

MEDIUM is off the table because of the role-multiplier floor: on any co-hosted or AD-integrated deployment the chain terminates in domain compromise or fleet-wide client MITM. Downgrading below HIGH would ignore the deployment-role blast radius rule — a bug in a component that hands DHCP options to every workstation on the network cannot be treated as ordinary hygiene.

05 · Compensating Control

What to do — in priority order.

  1. Enable DHCP snooping on all access switches — Blocks rogue DHCP relay agents and constrains which ports can source DHCP traffic, cutting off the primary lateral-attack vector. Deploy within 30 days per the noisgate HIGH mitigation SLA; most enterprise switch fleets support this natively.
  2. Segregate DHCP Server role off any Domain Controller — The single biggest severity multiplier is DHCP-on-DC co-hosting. Move DHCP to a dedicated member server (or DHCP failover pair) so a SYSTEM compromise doesn't equal instant DA. Plan the migration inside the 30-day window even if the patch is applied first — this is a permanent risk reduction.
  3. Restrict UDP/67-68 with host firewall to known relay agents — On the DHCP server, use Windows Firewall to accept UDP/67 only from your L3 switch/router relay IPs. Prevents packet delivery from arbitrary compromised endpoints on flat networks. Same 30-day deadline.
  4. Turn on DHCP audit logging + forward to SIEM — Look for anomalous option lengths, service crashes (Event 1000/1001 for svchost hosting DHCP), and unexpected scope-option changes. Provides detection coverage until patch rollout completes.
  5. Deploy the July 2026 cumulative update to all DHCP servers — Actual remediation. Under the noisgate HIGH remediation SLA the deadline is 180 days, but given the *Exploitation More Likely* rating and DHCP-on-DC prevalence, prioritize within 30–45 days.
What doesn't work
  • Perimeter firewalls — the attack originates from inside the network by definition; the perimeter never sees the packet.
  • WAF / IDS on HTTP — DHCP is UDP/67, no HTTP stack involved.
  • MFA / conditional access — the vulnerable service does not authenticate; PR:N means credentials are irrelevant.
  • Disabling DHCP failover — failover is unrelated to the parser bug; both partners are equally vulnerable and disabling it just breaks HA.
  • Running DHCP as a non-admin service account — the service must run as SYSTEM/Network Service to bind privileged ports and update AD; changing this breaks the role and doesn't remove the heap primitive.
06 · Verification

Crowdsourced verification payload.

Run on each Windows Server with the DHCP Server role, as a local administrator. Example: .\Check-CVE-2026-50518.ps1. It confirms the role is installed, then checks the July 2026 KB is present for the running OS build. Outputs VULNERABLE / PATCHED / UNKNOWN and sets a matching exit code (0/1/2).

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
#requires -RunAsAdministrator
# Check-CVE-2026-50518.ps1
# Detects patch state for Windows DHCP Server heap buffer overflow (July 2026)

$ErrorActionPreference = 'Stop'

function Write-Result([string]$state, [string]$msg) {
    Write-Host "[$state] $msg"
    switch ($state) {
        'VULNERABLE' { exit 1 }
        'PATCHED'    { exit 0 }
        default      { exit 2 }
    }
}

# 1) Is DHCP Server role even installed?
try {
    $svc = Get-Service -Name DHCPServer -ErrorAction Stop
} catch {
    Write-Result 'PATCHED' 'DHCP Server role not installed on this host — not applicable.'
}

if ($svc.Status -ne 'Running') {
    Write-Host "[INFO] DHCPServer service present but not running (Status=$($svc.Status))."
}

# 2) Resolve the July 2026 fix KB for this OS build.
#    Update this table from MSRC as new builds are patched.
$build = [System.Environment]::OSVersion.Version.Build
$ubr   = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name UBR).UBR
$os    = (Get-CimInstance Win32_OperatingSystem).Caption

# Placeholder mapping — replace <KBxxxxxxx> with the actual July 2026 rollup KB IDs
# from https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-50518
$fixMap = @{
    26100 = 'KB5062553'  # Server 2025 — verify from MSRC
    20348 = 'KB5062554'  # Server 2022 — verify from MSRC
    17763 = 'KB5062555'  # Server 2019 — verify from MSRC
    14393 = 'KB5062556'  # Server 2016 — verify from MSRC
     9600 = 'KB5062557'  # Server 2012 R2 — verify from MSRC
}

if (-not $fixMap.ContainsKey($build)) {
    Write-Result 'UNKNOWN' "Unmapped OS build $build ($os). Check MSRC advisory manually."
}

$targetKb = $fixMap[$build]

# 3) Check installed hotfixes and quick-fix engineering entries
$installed = @()
$installed += (Get-HotFix -ErrorAction SilentlyContinue | Select-Object -ExpandProperty HotFixID)
try {
    $installed += (Get-WmiObject -Class Win32_QuickFixEngineering -ErrorAction Stop | Select-Object -ExpandProperty HotFixID)
} catch { }

$installed = $installed | Sort-Object -Unique

if ($installed -contains $targetKb) {
    Write-Result 'PATCHED' "$targetKb present on $os (build $build.$ubr)."
} else {
    Write-Result 'VULNERABLE' "$targetKb NOT found on $os (build $build.$ubr). Apply July 2026 rollup."
}
07 · Bottom Line

If you remember one thing.

TL;DR
Monday morning: inventory every Windows Server with the DHCP Server role — start with Get-WindowsFeature DHCP sweeps across your AD. Flag any DHCP server co-hosted on a Domain Controller as tier-0-adjacent and put it at the top of the queue. Under the noisgate mitigation SLA for HIGH you have 30 days to enable DHCP snooping on access switches and lock the DHCP host firewall to permitted relay-agent IPs; under the noisgate remediation SLA for HIGH you have 180 days to deploy the July 2026 cumulative — but given Microsoft's *Exploitation More Likely* rating and the historical 2–8 week weaponization window on DHCP heap bugs, compress remediation to 30–45 days and re-rate to CRITICAL (patch within hours) if KEV lists it or a public PoC drops.

Sources

  1. MSRC — CVE-2026-50518
  2. ZDI — July 2026 Security Update Review
  3. SecurityAffairs — July 2026 Patch Tuesday coverage
  4. Talos — Microsoft Patch Tuesday July 2026
  5. MITRE CVE — DHCP keyword search
  6. CISA KEV Catalog
  7. Microsoft — Deploy DHCP Server (planning & topology guidance)
  8. Cisco — DHCP Snooping configuration guide
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.