A use-after-free in the code that trusts whatever hands out IP addresses on your LAN
CVE-2026-54128 is a use-after-free (CWE-416) in the Windows DHCP Client service — the component that runs on essentially every Windows host, workstation and server alike, whenever DHCP is not manually disabled. A malicious actor on the same broadcast domain can craft DHCP responses (offers, ACKs, or option-laden renewal traffic) that trigger the freed-object reuse in the client parser, yielding code execution in the DHCP client context. That context runs as NT AUTHORITY\SYSTEM or an equivalently privileged service account depending on Windows build. Microsoft's advisory covers currently-supported Windows client and server SKUs — Windows 10 22H2, Windows 11 22H2/23H2/24H2, and Windows Server 2016/2019/2022/2025 — with patches shipped in the July 2026 cumulative rollup.
The vendor label of HIGH (8.4) is defensible and — arguably — a touch conservative given the ubiquity of the affected component. Microsoft scored AV:L rather than AV:A, which is unusual for a DHCP-triggered bug and likely reflects a specific triggering path that requires the client to already be in a particular state (mid-renewal, or accepting a specific option). That framing pulls the raw CVSS down, but from a practitioner's standpoint the meaningful question is: *does a LAN-adjacent attacker get SYSTEM on every Windows host that renews a lease?* The answer, if a weaponized exploit lands, is yes.
5 steps from start to impact.
Gain a foothold on the target broadcast domain
- L2 adjacency or DHCP-relay path to victims
- Beachhead host or rogue device on the segment
- Enterprise NAC (Cisco ISE, Aruba ClearPass, Forescout) can quarantine unknown devices
- 802.1X port authentication blocks unauthorized physical connections
- Segmented VLANs limit the reachable victim population per foothold
Stand up a rogue DHCP responder
dhcpwn, custom scapy script, or a modified dnsmasq) that either races the legitimate DHCP server (offer-race) or answers requests at renewal time with a payload-bearing packet. Since DHCP is broadcast, the attacker sees every DISCOVER and REQUEST on the segment.- Ability to send/receive UDP 67/68 broadcasts
- Working exploit primitive for the specific UAF path
- DHCP snooping on managed switches drops offers from non-trusted ports — this is the single highest-leverage mitigation
- Legitimate DHCP server typically responds first; attacker must race or wait for renewal window
- UAF exploitation on modern Windows with CFG, XFG, ASLR, and DEP requires a working info-leak
Trigger the use-after-free in the DHCP Client parser
- Client is in a receptive state (initial DISCOVER, lease renewal, or RELEASE)
- Heap layout suitable for spray/groom
- Windows heap hardening (LFH randomization, segment heap on Win11/Server 2022+) makes deterministic grooming harder
- Client only processes DHCP when lease renewal fires — default renewal is 50% of lease time (often hours)
Achieve SYSTEM-level code execution on the victim
- Working exploit converts UAF into RCE
- No effective EDR blocking post-exploitation actions
- EDR (CrowdStrike, SentinelOne, Defender for Endpoint) will typically catch LSASS access and lateral movement
- Credential Guard blocks LSASS credential theft on supported SKUs
svchost.exe (hosting Dhcp) spawning shells or touching LSASSAmplify — mass-target every renewing host on the segment
- Persistent LAN presence for the duration of the renewal cycle
- Reliable exploit that works across build variants
- Well-segmented networks isolate DCs on management VLANs with static IPs — DHCP not in play
- Static-IP servers (typical for DCs, DBs, hypervisors) are not exposed at all
The supporting signals.
| In-the-wild exploitation | No confirmed exploitation as of 2026-07-15. Microsoft's Exploitability Index rates this 'Exploitation More Likely'. |
|---|---|
| Public PoC | None public at disclosure. Bug class (UAF in a network-facing service) and patch-diff feasibility make a PoC within 7-14 days the base-rate expectation. |
| EPSS | Not yet scored (published <48h ago). Historical DHCP-client CVEs of this class score in the 0.5-2% range in the first week, rising as PoCs land. |
| KEV status | Not listed by CISA as of 2026-07-15. |
| CVSS vector | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H = 8.4 HIGH. The AV:L is unusual for DHCP and likely reflects a specific state-machine precondition rather than pure network reachability. |
| Affected versions | Windows 10 22H2, Windows 11 22H2 / 23H2 / 24H2, Windows Server 2016 / 2019 / 2022 / 2025. Any SKU with the DHCP Client service enabled (default on all). |
| Fixed builds | July 2026 Patch Tuesday cumulative rollups. See MSRC advisory for KB numbers per SKU. |
| Exposure population | Effectively 100% of Windows hosts with DHCP enabled — i.e., the majority of the fleet excluding statically-addressed servers. |
| Disclosure | 2026-07-14, coordinated with July Patch Tuesday. |
| Reporter | Owen McCullough, Microsoft Security Response Center. |
noisgate verdict.
The single decisive factor is the LAN-adjacency prerequisite — the attacker must already have a foothold on the victim's broadcast domain, which is a post-initial-access position rather than an internet-reachable one. That gates the verdict at HIGH rather than CRITICAL despite the DHCP client running on essentially every Windows host, because the reachable population per attacker foothold is bounded by network segmentation.
Why this verdict
- Ubiquity of the affected component — the DHCP Client service is enabled by default on every currently-supported Windows SKU. There is no 'unusual configuration' escape hatch.
- LAN-adjacency friction (downward pressure) — the attacker must be on the victim's broadcast domain or reachable via a DHCP relay. That is a post-initial-access position; not internet-exposed. This is why the verdict does not float to CRITICAL.
- No public PoC yet (downward pressure, time-limited) — as of 2026-07-15 there is no weaponized exploit and no KEV listing. Expect this to change within two weeks.
- Role multiplier: workstation/member server (typical) — chain succeeds and yields SYSTEM on the host; blast radius is host-scope. Amplifiable to fleet-scope if the attacker persists on the segment through multiple renewal cycles.
- Role multiplier: domain controller (high-value) — most well-run enterprises statically address DCs, so DHCP is not in play; where DHCP *is* used on DCs (small/mid orgs, lab-grade infra), the chain ends in Domain Admin. This role represents <10% of DC installs, which is why the CRITICAL floor is not tripped, but it is why HIGH is the correct floor and not MEDIUM.
- Role multiplier: kiosk / OT jump-box on shared VLANs — same segment as production PLCs or nurse stations means one rogue DHCP responder compromises safety-adjacent systems. This is not the modal deployment but it is real.
Why not higher?
CRITICAL is reserved for chains that either (a) can be executed from the internet unauthenticated or (b) target a canonical high-value-role component where the bug lives *in* the identity/hypervisor/PKI plane. This bug requires L2 adjacency and lives in a generic OS component; DCs and hypervisors are typically statically addressed and therefore not reachable via this path in mature environments.
Why not lower?
MEDIUM would imply either narrow affected surface or a chain that assumes multiple additional compromises. Neither applies: every Windows host runs the DHCP client by default, the exploit needs only LAN adjacency plus a working UAF trigger, and the outcome is SYSTEM. The 'exploitation more likely' rating from MSRC and the plausibility of a patch-diff-driven PoC within days keep this above the MEDIUM waterline.
What to do — in priority order.
- Enable DHCP snooping on all access-layer switches — This is the highest-leverage compensating control. Configure trusted ports only on links to legitimate DHCP servers/relays; all other ports drop DHCPOFFER/ACK. Cisco:
ip dhcp snoopingglobally +ip dhcp snooping truston uplinks. Aruba/HPE:dhcp-snooping+dhcp-snooping trust. Deploy within 30 days per noisgate mitigation SLA. - Enforce 802.1X / MAC-auth on wired access ports and NAC on wireless — Prevents the beachhead-device step by refusing to admit unauthenticated rogue devices onto the broadcast domain. Cisco ISE, Aruba ClearPass, Forescout, or Microsoft NPS can all do this. Deploy within 30 days.
- Segment DCs, hypervisors, backup servers, and PKI hosts onto static-IP management VLANs — Removes the highest-blast-radius roles from the DHCP attack surface entirely. If any of these are still DHCP-configured, fix that this week regardless of this CVE — it is an architectural weakness. Complete within 30 days.
- Alert on DHCP client service crashes across the fleet — The most reliable pre-weaponization signal for this bug is a spike in
Dhcpservice faults or WER reports referencingdhcpcore.dll. Wire into your SIEM: Windows Event 7031/7034 filtered onDhcp, and WER bucket telemetry. Deploy within 30 days. - Deploy the July 2026 cumulative update via your normal ring process — The vendor patch is the actual fix. Push to workstations first (largest exposure, lowest change-risk), then member servers, then DCs. Target completion within 180 days per noisgate remediation SLA — accelerate to 60 days for exposed segments (guest WiFi, contractor VLANs, retail/branch).
- Perimeter firewall rules — irrelevant. DHCP is L2/broadcast; the attacker is already inside.
- Disabling the DHCP Client service — will strip network connectivity from any non-statically-addressed host. Not a viable control at fleet scale.
- AV signature updates — no signature can reliably distinguish a malicious DHCPOFFER from a legitimate one until a PoC is public and IOCs exist.
- Blocking UDP 67/68 at host firewalls — same result as disabling the client: the host loses DHCP entirely.
- MFA / conditional access — this is a pre-auth OS-level bug; identity controls are not in the path.
Crowdsourced verification payload.
Run on the target Windows host as Administrator (required to read servicing stack build numbers reliably). Invoke as .\Check-CVE-2026-54128.ps1. Exit code 0 = PATCHED, 1 = VULNERABLE, 2 = UNKNOWN. Suitable for wrapping in SCCM/Intune/Ansible for fleet-scale sweep.
#Requires -RunAsAdministrator
# Check-CVE-2026-54128.ps1
# Verifies whether the host has the July 2026 cumulative update that fixes
# CVE-2026-54128 (Windows DHCP Client Use-After-Free RCE).
#
# Strategy: inspect the file version of %SystemRoot%\System32\dhcpcore.dll
# against the minimum patched build for the running Windows SKU.
$ErrorActionPreference = 'Stop'
# Minimum patched dhcpcore.dll ProductVersion per SKU family.
# Update these values from the KB article for each SKU before running at scale.
$MinPatched = @{
'10.0.19045' = '10.0.19041.5800' # Windows 10 22H2
'10.0.22621' = '10.0.22621.4900' # Windows 11 22H2
'10.0.22631' = '10.0.22631.4900' # Windows 11 23H2
'10.0.26100' = '10.0.26100.4200' # Windows 11 24H2 / Server 2025
'10.0.20348' = '10.0.20348.3200' # Server 2022
'10.0.17763' = '10.0.17763.6800' # Server 2019
'10.0.14393' = '10.0.14393.7800' # Server 2016
}
try {
$osBuild = [System.Environment]::OSVersion.Version
$key = "{0}.{1}.{2}" -f $osBuild.Major, $osBuild.Minor, $osBuild.Build
if (-not $MinPatched.ContainsKey($key)) {
Write-Output "UNKNOWN: SKU build $key not in reference table. Consult KB."
exit 2
}
$dllPath = Join-Path $env:SystemRoot 'System32\dhcpcore.dll'
if (-not (Test-Path $dllPath)) {
Write-Output "UNKNOWN: dhcpcore.dll not present at $dllPath"
exit 2
}
$fileVer = (Get-Item $dllPath).VersionInfo.FileVersion
$current = [Version]($fileVer -replace ' .*$','')
$required = [Version]$MinPatched[$key]
if ($current -ge $required) {
Write-Output "PATCHED: dhcpcore.dll $current >= $required"
exit 0
} else {
Write-Output "VULNERABLE: dhcpcore.dll $current < $required (CVE-2026-54128)"
exit 1
}
} catch {
Write-Output "UNKNOWN: $($_.Exception.Message)"
exit 2
}
If you remember one thing.
Sources
- Microsoft MSRC — CVE-2026-54128
- Cisco Talos — July 2026 Patch Tuesday Analysis
- Zero Day Initiative — July 2026 Security Update Review
- Security Boulevard — July 2026 Patch Tuesday (569 CVEs)
- Zecurit — Patch Tuesday July 2026 CVE Analysis
- Akamai — Abusing DHCP for Windows Privilege Escalation (context on DHCP attack surface)
- CWE-416: Use After Free
- CISA KEV Catalog
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.