Two 9.8s in Windows DHCP Server: the unauthenticated heap-overflow RCEs hiding in July's Patch Tuesday
CVE-2026-50518 and CVE-2026-56159 are pre-auth, network-reachable RCEs in a service every Windows network runs. No public PoC yet — which is exactly the window to patch in.

Two of the highest-severity bugs Microsoft fixed on July 14, 2026 never made the headlines. They were overshadowed by the month's actively-exploited zero-days (per Rapid7's Patch Tuesday roundup). But CVE-2026-50518 and CVE-2026-56159 are both CVSS 9.8, both unauthenticated, both network-reachable, and both sit in the same place: the Windows DHCP Server service — a role that quietly runs on domain controllers and infrastructure boxes across almost every Windows network on earth.
Scores as of 2026-07-31live record →
The same bug class, twice
Both CVEs carry an identical description and an identical weakness: a heap-based buffer overflow (CWE-122) in Windows DHCP Server that "allows an unauthorized attacker to execute code over a network." The CVSS vectors are byte-for-byte the same — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H — meaning no credentials, no user click, low attack complexity, full compromise of confidentiality, integrity and availability.
So if the severity is identical, why treat them differently? Because impact (CVSS) and likelihood (EPSS) are separate signals — and here they diverge hard.
CVE-2026-50518 vs CVE-2026-56159
| CVE-2026-50518 | CVE-2026-56159 | |
|---|---|---|
| CVSS 3.1 | 9.8 Critical | 9.8 Critical |
| Weakness | CWE-122 heap overflow | CWE-122 heap overflow |
| Vector | AV:N/AC:L/PR:N/UI:N | AV:N/AC:L/PR:N/UI:N |
| EPSS score | 0.111 (~11.1%) | 0.010 (~1.0%) |
| EPSS percentile | 95.5th | 59.1th |
| Public PoC | None | None |
| In CISA KEV | No (as of 2026-07-31) | No (as of 2026-07-31) |
Why DHCP is a worst-case blast radius
DHCP is not a niche add-on. The DHCP Server role hands out IP configuration to every client on a segment, it typically runs on Windows Server, and in most environments it's co-located with Active Directory and DNS on the same domain controllers. A memory-corruption bug that runs code inside that service is therefore not "a DHCP outage" — it's remote code execution on the machine that authenticates your whole domain.
CVE-2026-50518 / CVE-2026-56159 — abstract attack path
- Attacker on a reachable segment — No credentials. Network path to the DHCP Server service (UDP 67).
- Crafted DHCP packet — Malformed message triggers the parser.
- Heap-based buffer overflow (CWE-122) — Memory corruption inside the DHCP Server service.
- Remote code execution — No auth, no user interaction (AV:N/AC:L/PR:N/UI:N).
- DHCP often = a domain controller — Role commonly co-located with AD/DNS.
- Domain-wide compromise / rogue config — Lateral movement, credential access, poisoned network config.
Who's affected
Both CVEs share the exact same affected surface — the DHCP Server role across supported (and some legacy) Windows Server builds, plus the LTSC Windows 10 editions that can carry it. Because the affected ranges are identical, one patch table covers both bugs: get the DHCP Server service to at least the build below.
| Windows release | Fixed build (update to at least) |
|---|---|
| Windows Server 2012 (incl. Server Core) | 6.2.9200.26226 |
| Windows Server 2012 R2 (incl. Server Core) | 6.3.9600.23291 |
| Windows Server 2016 / Server Core · Windows 10 1607 | 10.0.14393.9339 |
| Windows Server 2019 / Server Core · Windows 10 1809 | 10.0.17763.9020 |
| Windows Server 2022 | 10.0.20348.5386 |
| Windows Server 2025 (incl. Server Core) | 10.0.26100.33158 |
Triage before a PoC lands
There's no vendor workaround for either CVE (has_workaround = false on both) — the fix is the July cumulative update. Until every DHCP server is patched, treat these as a race and shrink the exposure:
- Patch the July 14 cumulative update on every server running the DHCP Server role, and confirm the OS/DHCP build meets the table above. There is no partial mitigation short of the update.
- Inventory first. Enumerate authorized DHCP servers in the domain and the machines that actually run the role — you can only race for boxes you know exist.
- Reduce reachability. DHCP is meant to be spoken to only from local segments via relay/IP-helper. Make sure UDP 67 to your DHCP servers is not reachable from user VLANs, guest networks, or anything internet-adjacent.
- Separate roles where you can. The damage multiplier is DHCP sitting on a domain controller. New deployments should keep DHCP off DCs; existing ones should prioritise those hosts for patching.
- Watch for crashes. Heap overflows frequently crash the target before they achieve reliable code execution — unexpected DHCP Server service restarts are worth an alert.
# List authorized DHCP servers in Active DirectoryGet-DhcpServerInDC# On a suspected DHCP host: confirm the role is installedGet-WindowsFeature -Name DHCP# Check the OS build — compare against the fixed-build table[System.Environment]::OSVersion.VersionThe honest part: no public exploit — yet
In the cve.tools index, both CVEs read has_exploit: false: no Metasploit module, no Nuclei template, no public proof-of-concept. That is genuinely good news, and it's the reason this is a pre-exploit story rather than an incident-response one.
Timeline
- Microsoft publishes CVE-2026-50518 and CVE-2026-56159Both rated CVSS 9.8; fixes ship in the July Patch Tuesday cumulative updates.
- CVE-2026-50518 record last updatedEPSS sits at the 95.5th percentile — still no public exploit.
- No public PoC, not in CISA KEVhas_exploit = false for both in the cve.tools index; the patch-ahead window remains open.
CVE, CVSS and EPSS data current as of 2026-07-31