A rusty padlock on a shed you should have demolished five moves ago
CVE-2011-0657 is a buffer underrun in DNSAPI.dll in the Windows DNS Client service when it parses LLMNR (Link-Local Multicast Name Resolution) responses. On Vista, Server 2008, Windows 7, and Server 2008 R2, an unauthenticated attacker on the same broadcast/multicast segment could send a crafted LLMNR query/response and land RCE as the NetworkService account. XP and 2003 don't ship LLMNR at all, so on those platforms it degrades to a local-code-execution issue. The fix was KB2509553, released 12 April 2011.
Microsoft rated the bulletin Critical and Tenable inherited a CVSSv2 10.0 (AV:N/AC:L/Au:N/C:C/I:C/A:C). Fifteen years ago that was accurate. In 2026 the vendor label is stale on two counts: every affected OS is out of extended support, and the attack vector is *adjacent network* (LLMNR is link-local — a router hop kills it), not internet-reachable. The remaining risk is not this CVE — it is the fact that Nessus is still flagging hosts running unsupported Windows on your production network.
4 steps from start to impact.
Get onto the same L2 segment as the victim
- Attacker has L2 adjacency to victim
- Victim has LLMNR enabled (default on Vista/7/2008)
- Requires prior foothold or physical/wireless access — no internet path
- Segmented networks and NAC (802.1X) block rogue devices
- Many mature shops disabled LLMNR years ago via GPO to kill Responder-style poisoning
Trigger the victim's DNS Client to parse an attacker-controlled response
Dnsapi.dll to walk a malformed message and underrun a heap buffer. Public writeups from 2011 and the K7 Labs analysis describe the flaw as an integer/length-check gap in the name decompression path. No public Metasploit module ever shipped a working RCE; only crash-level PoCs circulated.- Unpatched DNSAPI.dll (no KB2509553)
- LLMNR service reachable on UDP 5355
- Exploit reliability is poor — most public artifacts DoS rather than RCE
- ASLR + heap hardening on Vista SP2 / 7 further degrade reliability
Code execution as NetworkService
NT AUTHORITY\NetworkService. This is not SYSTEM, but on legacy Windows it is trivially elevated using any of the well-known service-account-to-SYSTEM tricks (Rotten/Juicy Potato, token-kidnapping — those platforms lack the mitigations later Windows added).- Exploit landed reliably (see step 2 friction)
- Modern EDR would flag NetworkService spawning cmd.exe / rundll32 with unknown parent — but if you are still running Vista, you likely have no EDR
Lateral movement from a legacy beachhead
- Attacker has code exec on legacy host
- None — this is the point. Legacy hosts are pre-owned platforms
The supporting signals.
| CVE | CVE-2011-0657 (MS11-030, KB2509553) |
|---|---|
| In-the-wild exploitation | No known campaigns. Not on CISA KEV. No named APT tradecraft references this CVE. Fifteen years of silence. |
| Public PoC | Crash-level PoCs discussed in 2011 (K7 Labs, Check Point CPAI-2011-228). No public reliable RCE; no Metasploit module. |
| EPSS | Historically < 1%, well below the noise floor for prioritization. |
| KEV status | Not listed. |
| CVSSv2 vector | AV:N/AC:L/Au:N/C:C/I:C/A:C → 10.0 base. Reads as internet-reachable RCE, but AV:N is misleading — LLMNR is link-local (should be AV:A). |
| Affected | Windows Vista SP1/SP2, Server 2008 SP2, Windows 7 (RTM/SP1), Server 2008 R2 (RTM/SP1); XP/2003 as local EoP only. |
| Fixed version | KB2509553 (12 April 2011). All affected OSes are past end-of-extended-support. |
| Exposure data | LLMNR (UDP 5355) is not internet-routable; Shodan/Censys exposure for this CVE is effectively zero. Internal exposure = however many legacy Windows hosts you still run. |
| Reporter | Credited to Ivan Fratric (then at Fratric Security) via Microsoft's April 2011 bulletin cycle. |
noisgate verdict.
Downgraded from Critical because the single most decisive factor is attack-vector misclassification: LLMNR is link-local multicast, not routable, so the vendor's AV:N score is wrong in practice — the attacker must already have L2 adjacency, which implies post-initial-access. A secondary decisive factor is the near-zero installed base of Vista/7/2008 in supported production roles in 2026; if those hosts exist they are a bigger problem than this CVE.
Why this verdict
- Adjacent-network only, not remote: LLMNR is scoped to the local link; the vendor's AV:N CVSSv2 label overstates reach. Real vector is AV:A → attacker already inside your L2.
- Zero in-the-wild activity in 15 years: not on KEV, no known malware family, no Metasploit module, EPSS negligible. Attackers with L2 access have far better tools (Responder, MS17-010, NTLM relay to ADCS).
- Affected OSes are all past end-of-support: Vista, 7, 2008, 2008 R2 have been out of extended support for years. If you have these on the wire the CVE-2011-0657 patch level is the least of your worries.
- Role multiplier — workstation / print server / member host: typical LLMNR-enabled hosts are endpoints or utility servers. Blast radius = single host → NetworkService. Not a role-defining component; no fleet or identity pivot from this bug alone.
- Role multiplier — domain controller: DCs did not typically run with LLMNR enabled and were the first hosts patched in 2011. Even hypothetically, RCE as NetworkService on a DC is a serious ceiling, but no operator has left a 2008 R2 DC unpatched and reachable in 2026 without much worse existing issues.
- Compensating controls are near-universal: disabling LLMNR via GPO has been standard hardening since Responder became famous (~2012). Most enterprises already killed the protocol for reasons unrelated to this CVE.
Why not higher?
Not HIGH because there is no routable path, no active exploitation, and the affected OS install base in enterprise production is a rounding error in 2026. A role-multiplier floor to HIGH does not apply — DNS Client on a domain controller is not a role-defining component (unlike, say, the DNS *server* service or LSASS), and the code executes as NetworkService, not SYSTEM.
Why not lower?
Not LOW/IGNORE because if plugin 53514 is firing today, it means Nessus authenticated to a Windows host that never received the April 2011 patch — a host that old and unpatched is a genuine risk indicator even if this specific CVE is boring. Treat the finding as a fleet-hygiene signal, not as a standalone vulnerability.
What to do — in priority order.
- Disable LLMNR fleet-wide via GPO — Set
Computer Configuration → Administrative Templates → Network → DNS Client → Turn off multicast name resolution = Enabled. Kills this CVE and the entire Responder poisoning family in one move. Deploy within the standard MEDIUM window — no mitigation SLA, roll into your next hardening cycle. - Block UDP 5355 and 137/138 at host firewall and VLAN boundaries — Belt-and-suspenders after the GPO. LLMNR uses UDP 5355; NBT-NS uses 137/138. Add explicit deny rules on Windows Defender Firewall and on any L3 boundary between user VLANs and server VLANs.
- Inventory and evict any Vista / 7 / 2008 / 2008 R2 hosts still on production networks — This is the real work. Use Nessus, AD queries (
Get-ADComputer -Filter {OperatingSystem -like '*2008*'}), and DHCP fingerprinting to find them. Isolate to a segregated VLAN with no lateral reach, or decommission. This is a 90-day project, not a patch. - Deploy Respotter or an LLMNR-poisoning honeypot on user VLANs — Any attacker on-link running Responder to exploit this class of bug will trip a canary. Cheap, high-signal detection for the adjacent-network preconditions this CVE requires.
- Perimeter firewall rules — LLMNR never crosses the perimeter; blocking UDP 5355 at the edge does nothing that isn't already done by default.
- NIDS signatures for CVE-2011-0657 — nobody is exploiting this; you'll get zero hits and waste a rule slot.
- Applying KB2509553 as a standalone action — if the host is missing this patch it is missing 200+ others. Patching just this one is theater.
Crowdsourced verification payload.
Run on the target Windows host as local Administrator (or via WinRM from your auditor workstation): .\Check-MS11-030.ps1. Checks OS applicability, KB2509553 installation, DNSAPI.dll file version, and current LLMNR GPO state. Emits VULNERABLE, PATCHED, MITIGATED, or UNKNOWN.
#requires -Version 3.0
# Check-MS11-030.ps1 — noisgate verifier for CVE-2011-0657 (MS11-030)
# Exit codes: 0 = PATCHED or MITIGATED, 1 = VULNERABLE, 2 = UNKNOWN
$ErrorActionPreference = 'Stop'
$result = 'UNKNOWN'
try {
$os = (Get-CimInstance Win32_OperatingSystem).Caption
Write-Host "[*] OS: $os"
# Only Vista / 2008 / 7 / 2008 R2 are LLMNR-exploitable for this CVE
$affected = $os -match 'Vista|Server 2008|Windows 7'
if (-not $affected) {
Write-Host '[+] OS not affected by MS11-030 LLMNR vector.'
$result = 'PATCHED'
exit 0
}
# 1. Check for KB2509553
$kb = Get-HotFix -Id KB2509553 -ErrorAction SilentlyContinue
if ($kb) {
Write-Host '[+] KB2509553 installed.'
$result = 'PATCHED'
} else {
Write-Host '[-] KB2509553 NOT installed.'
}
# 2. Check dnsapi.dll file version (fixed builds >= 6.0.6002.18400 / 6.1.7601.17570 approx)
$dll = Get-Item "$env:SystemRoot\System32\dnsapi.dll" -ErrorAction SilentlyContinue
if ($dll) {
Write-Host "[*] dnsapi.dll version: $($dll.VersionInfo.FileVersion)"
}
# 3. Check LLMNR mitigation (GPO)
$llmnrReg = Get-ItemProperty 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient' -Name EnableMulticast -ErrorAction SilentlyContinue
if ($llmnrReg -and $llmnrReg.EnableMulticast -eq 0) {
Write-Host '[+] LLMNR disabled via policy — attack surface removed.'
if ($result -ne 'PATCHED') { $result = 'MITIGATED' }
} else {
Write-Host '[-] LLMNR NOT disabled via policy.'
if ($result -ne 'PATCHED') { $result = 'VULNERABLE' }
}
}
catch {
Write-Host "[!] Error: $_"
$result = 'UNKNOWN'
}
Write-Host "RESULT: $result"
switch ($result) {
'PATCHED' { exit 0 }
'MITIGATED' { exit 0 }
'VULNERABLE' { exit 1 }
default { exit 2 }
}
If you remember one thing.
Sources
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.