Unbound CVE-2026-40622: Ghost Domains Keep Resolving After Revocation (Fix in 1.25.1)

NLnet Labs disclosed CVE-2026-40622 on May 20, 2026, as a medium-severity flaw in Unbound versions 1.16.2 through 1.25.0 that can extend the life of revoked “ghost” domain names in resolver cache under specific attacker-controlled DNS conditions. The bug is not a Microsoft Windows vulnerability, despite the MSRC-style framing attached to the submission; it is a DNS resolver problem that matters to Windows networks because DNS is the quiet dependency beneath nearly every enterprise control plane. The practical story is less about a spectacular exploit and more about how long a supposedly dead name can keep answering. That makes CVE-2026-40622 a reminder that cache correctness is a security boundary, not merely a performance feature.

Cybersecurity infographic showing “Ghost domain persists in DNS cache” and mitigation for Unbound 1.25.1.The Ghost Domain Trick Is Really a Trust Boundary Failure​

The phrase ghost domain names sounds like threat-intel branding, but the underlying issue is unusually concrete. A domain is supposed to disappear from resolvers once its delegation is revoked or altered and cached records expire. In this family of attacks, the resolver can be persuaded to keep resolving a name after the parent-side authority has effectively withdrawn it.
CVE-2026-40622 affects NLnet Labs Unbound, one of the most widely deployed recursive DNS resolvers in the open-source infrastructure stack. The vulnerability allows an attacker who controls a ghost zone and can query a vulnerable resolver to extend the “ghost domain window” by up to one configured cached TTL value. That is a narrow condition, but in DNS security narrow conditions can be enough; recursive resolvers exist precisely to remember answers on behalf of everyone else.
The key mechanism is an overwrite of authority information. According to the public description, a single client NS query can cause Unbound to replace an expired parent-side referral NS record set in cache with the child-side apex NS record set. Put in plainer language: the resolver may give renewed life to nameserver information that should no longer be authoritative from the parent’s point of view.
That distinction matters. The DNS hierarchy depends on parents being able to say, “this child is no longer delegated here.” If the resolver lets the child’s own cached claims outlive the parent’s revocation, the chain of authority bends in the wrong direction. CVE-2026-40622 is therefore not just a caching oddity; it is a small but meaningful reversal of DNS’s trust model.

The Exploit Is Not Click-and-Own, Which Is Why It Will Be Misread​

This is not a remote-code-execution bug, and treating it like one would be a category error. There is no immediate path from CVE-2026-40622 to SYSTEM on a Windows server, no phishing document macro, no wormable SMB moment. The CVSS 4.0 score assigned by the CNA is 6.6, medium severity, which accurately signals that the attack is situational rather than broadly catastrophic.
But “medium” is not the same thing as “administratively ignorable.” DNS vulnerabilities often sit in the uncomfortable middle ground between operational nuisance and security primitive. They do not always break into machines directly; they can instead extend the useful life of infrastructure that defenders, registries, or domain owners believed had been cut off.
The attacker requirements are important. An adversary needs control of the relevant ghost zone and must be able to send queries to the vulnerable Unbound resolver. In the default scenario described publicly, a client NS query is involved. In configurations using harden-referral-path: yes, which is not the default, the resolver can implicitly perform the relevant query itself, changing the exposure profile for administrators who enabled that hardening option in pursuit of stronger validation behavior.
That irony is worth pausing on. Security features often reduce one class of risk while making another edge case more interesting. harden-referral-path was not a reckless setting; it reflects a reasonable instinct to make referral handling more robust. CVE-2026-40622 shows that resolver logic is a maze of interactions where “more checking” can still produce surprising cache state.

Unbound 1.25.1 Is the Line Administrators Should Care About​

NLnet Labs fixed the issue in Unbound 1.25.1, released on May 20, 2026, alongside patches for a larger batch of security issues. The relevant fix prevents TTL extension for parent NS records regardless of their trust level. That is the kind of repair that sounds boring until one remembers that DNS cache correctness is mostly a matter of boring rules applied relentlessly.
The affected range is unusually broad: Unbound 1.16.2 up to and including 1.25.0. That span reaches into environments that may not think of themselves as running exotic infrastructure. Unbound appears in Linux distributions, BSD installations, appliances, home labs, Pi-hole-style deployments, containerized services, and enterprise resolver tiers. Many Windows shops do not run Unbound on domain controllers, but they may run it upstream, beside Windows DNS, in DMZ networks, or inside security tooling that nobody has inventoried recently.
The version boundary also complicates patch management. Administrators who compile Unbound from source can move directly to 1.25.1 or apply vendor patches, but many organizations consume Unbound through distribution packages. In those environments, the visible upstream version number may not tell the whole story because vendors often backport fixes without changing the major upstream label in a way that satisfies a quick glance.
That is why the operational answer is not simply “look for 1.25.1.” The better answer is to check the package vendor’s security advisory, confirm whether CVE-2026-40622 is fixed in the shipped build, and then restart or reload resolver services in a maintenance window that accounts for DNS dependency chains. A patched binary that never replaces the running process is not a mitigation; it is paperwork.

Microsoft Is in the Frame Because Windows Networks Depend on Non-Windows DNS​

The user-submitted source points to Microsoft’s Security Update Guide, but the public CVE record identifies NLnet Labs as the source and Unbound as the affected product. That distinction is not pedantry. Microsoft’s ecosystem has become a front door for many vulnerability disclosures because Windows administrators often track risk through MSRC, even when the vulnerable component is open-source infrastructure adjacent to Windows rather than Windows itself.
For WindowsForum readers, the practical question is not whether Windows 11 or Windows Server contains this bug by default. The practical question is whether a Windows-dependent organization relies on Unbound anywhere in the recursive path. Active Directory, Kerberos, Intune enrollment, certificate validation, browser navigation, software update checks, VPN split tunneling, EDR telemetry, and cloud authentication all assume DNS answers are both timely and legitimate.
That dependency has blurred the old boundary between “Windows vulnerability” and “infrastructure vulnerability.” A resolver flaw may live on a Debian box, a FreeBSD firewall, a network appliance, or a Kubernetes sidecar, yet the failure mode can be felt first by Windows clients. Users do not experience “recursive resolver cache state inconsistency.” They experience login failures, policy misapplication, traffic going somewhere unexpected, or a security team discovering that a supposedly revoked domain still resolves from inside the network.
Microsoft-heavy shops should therefore treat CVE-2026-40622 as part of the same dependency hygiene as OpenSSL, cURL, Samba, or Log4j. Not every critical dependency ships from Redmond. Some of the most important ones sit underneath the Windows estate, answering questions before Windows ever has a chance to enforce a policy.

The Old DNS Lesson Keeps Repeating Itself​

DNS has always been easy to underestimate because it usually works. Its success as an invisible substrate makes its failures look like edge cases until they stack up into a security incident. Cache poisoning, lame delegations, DNSSEC validation failures, dangling records, and domain takeover bugs all exploit the same uncomfortable truth: naming is authorization by another route.
Ghost domain attacks are especially unsettling because they weaponize disagreement over time. A parent zone may have revoked a delegation, a registry may have suspended a domain, or defenders may believe a malicious name has been neutralized. Yet a resolver that keeps stale authority alive can preserve reachability long enough for the attacker to benefit.
CVE-2026-40622 is a variant in that tradition. It does not invent a new internet failure mode; it finds another seam in resolver behavior where cache state can outlast the authority that should constrain it. That makes it a good example of why DNS security work often feels like archaeology. Researchers keep digging through decades of protocol assumptions and implementation optimizations, finding places where the fast path and the trust path are not quite the same thing.
There is also a broader lesson about TTLs. Administrators often treat TTLs as performance knobs, tuning them to reduce query load or speed up failover. In ghost-domain scenarios, TTL becomes part of the attack surface because it defines how long an incorrect or no-longer-authoritative state can remain useful. A higher cache-max-ttl may improve resolver efficiency, but it can also widen the time window in which a mistake remains operationally visible.

The Real Risk Is Persistence After Revocation​

Security teams spend a great deal of time on detection and takedown. Malware domains are reported, phishing domains are suspended, command-and-control infrastructure is sinkholed, and compromised delegations are corrected. Those workflows assume that once the authoritative hierarchy changes, the rest of the internet will converge toward the new reality after ordinary cache expiration.
Ghost-domain behavior attacks that convergence. It creates a gap between the administrative act of revocation and the resolver’s practical view of the world. For defenders, that gap is where false confidence lives.
In an enterprise network, the most plausible consequence is not mass compromise but uneven cleanup. One resolver path may stop resolving the name while another continues. A security analyst testing from a laptop may see the domain dead, while an internal service using a vulnerable resolver still reaches it. That sort of inconsistency is a nightmare during incident response because it makes eradication look complete from one vantage point and incomplete from another.
The problem is even more awkward in distributed environments. Large organizations may use a mix of local caching resolvers, cloud DNS forwarding, branch-office appliances, endpoint VPN DNS rules, and third-party secure resolvers. If even one tier is vulnerable and reachable by the attacker, the organization can end up with pockets of stale truth.
That is why CVE-2026-40622 deserves attention even without active exploitation reports. The vulnerability’s value is in persistence, and persistence is often what separates a contained incident from a recurring one. The attacker does not need the ghost window to last forever. They only need it to last longer than defenders expect.

Resolver Hardening Cannot Be a Set-and-Forget Checkbox​

The mention of harden-referral-path will catch the eye of administrators who have spent years nudging resolvers toward stricter behavior. In Unbound, the option is intended to make referral-path handling more cautious. But the CVE description notes that with this non-default configuration, the relevant NS query can be performed implicitly rather than requiring a client to ask for it.
That does not mean administrators should reflexively disable hardening features. It means they should stop treating resolver hardening as a pile of independent “more secure” toggles. DNS resolver behavior is emergent: cache policy, bailiwick rules, DNSSEC validation, referral chasing, prefetching, serve-expired settings, and TTL limits all interact.
This is where enterprise configuration management often falls short. A resolver config is copied from a blog post, tuned during an outage, amended during a security review, and then left alone for years. Nobody remembers why a setting exists. Nobody knows whether the original threat model still applies. Then a CVE arrives and the team discovers that its “secure baseline” is really a historical artifact.
CVE-2026-40622 should prompt a narrow review rather than a panic. Administrators should identify Unbound instances, confirm affected versions, check whether harden-referral-path is enabled, inspect cache-max-ttl, and understand which clients can query the resolver. The most exposed resolver is not necessarily the one with the oldest package; it may be the one reachable from the wrong network segment.

The Supply Chain Problem Is Smaller but Messier Than It Looks​

Unbound’s open-source nature is a strength here. The issue was assigned a CVE, published with affected versions, and fixed in an upstream release. That is how coordinated vulnerability handling is supposed to work. The messy part begins downstream.
A Windows administrator may not know that a firewall appliance includes Unbound. A Linux administrator may know the package name but not whether the distribution has backported the fix. A security scanner may flag a version string that looks vulnerable even after a vendor patch. A container image may carry an older resolver binary that is never exposed to the internet but still serves internal workloads. None of these are theoretical problems; they are the normal texture of modern infrastructure.
The broader Unbound 1.25.1 release also fixed multiple CVEs, which cuts both ways. On the one hand, it increases the urgency to update because CVE-2026-40622 is not traveling alone. On the other hand, bundled security releases can make risk communication harder. Teams may focus on the highest-severity item in the release and miss the quieter DNS integrity issue that better matches their environment.
For asset owners, the immediate task is inventory. Find Unbound not just where it was intentionally deployed, but where it was inherited. That includes DNS filtering stacks, ad-blocking resolvers, lab networks that became production-adjacent, monitoring appliances, developer environments, and cloud images. DNS has a habit of spreading because it is useful, lightweight, and rarely the first thing auditors ask about.

Windows DNS Administrators Still Have Work to Do​

Many Windows Server environments use Microsoft DNS for Active Directory-integrated zones and forwarding. That does not automatically put them outside the blast radius. A Microsoft DNS server may forward to Unbound, sit behind an Unbound caching layer, or coexist with Unbound in split-horizon configurations.
The right response is to trace resolution paths. For domain-joined clients, where do external queries go? For servers in a DMZ, which resolver answers recursive lookups? For VPN users, does split DNS send some traffic to a Linux resolver? For cloud workloads, are private resolvers forwarding to self-managed Unbound instances? These are not academic topology questions; they determine whether the vulnerable code can affect real traffic.
Windows shops should also review monitoring assumptions. If security tooling checks domain takedown status through a public resolver but production systems resolve through an internal Unbound instance, the tooling may produce misleading reassurance. During incident response, teams should test from the same resolver path used by the affected workload, not merely from an analyst workstation.
There is an Active Directory angle, too, even if the CVE is not an AD flaw. AD environments are famously DNS-sensitive, and administrators often isolate Microsoft DNS discussions from broader resolver architecture. That separation is increasingly artificial. Hybrid identity, SaaS dependencies, certificate revocation checks, MDM enrollment, and endpoint security products all make external DNS reliability and integrity part of the Windows operational story.

The Patch Is Simple; Proving Exposure Is Not​

The clean mitigation is to update to a fixed Unbound build, with 1.25.1 as the upstream reference point. If the resolver comes from an operating-system vendor, administrators should install the vendor’s security update and verify that CVE-2026-40622 is listed as fixed. If the resolver is embedded in an appliance, the fix may arrive under the appliance vendor’s firmware or package update rather than as a visible Unbound tarball.
Temporary mitigations are less satisfying. Reducing cache-max-ttl can narrow the maximum extension window, but it does not fix the underlying trust problem. Restricting who can query recursive resolvers is always good hygiene and may reduce attacker reachability, but it does not help if the adversary already has a path from an allowed client segment. Disabling unusual resolver options without understanding the broader configuration can introduce different failures.
The best short-term defensive move, after patch planning, is visibility. Resolver logs are notoriously noisy, and many organizations avoid deep DNS logging because of volume and privacy concerns. Still, administrators can look for unusual NS query patterns, unexpected traffic involving recently revoked or suspended domains, and discrepancies between internal and external resolver answers for domains under investigation.
Testing should be careful. DNS cache behavior depends on timing, TTLs, and resolver state, so a one-off query is rarely definitive. Teams should avoid turning production resolvers into research platforms, but they should validate that patched instances no longer exhibit the risky behavior if they have a safe lab environment. For most organizations, however, the more efficient answer is patch, restart, verify version, and monitor.

The May 2026 Signal Is That DNS Resolver Bugs Are Not Slowing Down​

CVE-2026-40622 arrived in a release that addressed a broader set of Unbound security fixes, which is itself a signal. DNS resolver implementations are under sustained scrutiny from academic researchers, open-source maintainers, and attackers who understand that small inconsistencies at the resolver layer can have outsized effects. This is not a reason to distrust Unbound. It is a reason to treat recursive DNS as a high-value service deserving the same patch discipline as VPN gateways and identity servers.
The industry has spent years telling administrators to deploy DNSSEC, harden resolvers, avoid open recursion, and reduce cache poisoning risk. Those recommendations remain sound. But they can create a false impression that DNS security is a solved checklist. CVE-2026-40622 shows the opposite: even mature resolvers can contain subtle state-handling flaws at the boundary between cache performance and authority validation.
For attackers, DNS remains attractive because it is both universal and under-watched. For defenders, it remains frustrating because changes propagate unevenly and failures can masquerade as ordinary network weirdness. A ghost-domain window extended by one cached TTL may sound modest, but in the middle of a takedown or incident response, that extra time can matter.
There is also a cultural issue. Organizations often assign DNS to whichever team inherited it years ago. Network teams own the appliances, Windows teams own AD-integrated zones, Linux teams own recursive services, security teams own filtering policy, and cloud teams own private hosted zones. CVE-2026-40622 is exactly the kind of bug that falls between those ownership lines.

The Practical Shape of the Fix Is Smaller Than the Lesson​

For administrators trying to convert the advisory into action, the concrete path is not complicated. The challenge is making sure the action reaches every resolver that matters, including the ones nobody thinks about until they fail.
  • Inventory Unbound deployments across servers, appliances, containers, lab networks, DNS filtering systems, and cloud images before assuming the organization is unaffected.
  • Treat Unbound 1.25.1 or a vendor-confirmed backport as the fixed baseline for CVE-2026-40622.
  • Check whether harden-referral-path is enabled, because the advisory describes a different trigger path for that non-default configuration.
  • Review cache-max-ttl values as part of exposure assessment, since the vulnerability can extend the ghost-domain window by up to one configured cached TTL.
  • Test domain takedown and incident-response assumptions through the same resolver path used by production clients, not only through public DNS or analyst workstations.
  • Restart or reload resolver services after patching, and verify the running binary rather than trusting package installation logs alone.
The main point is not that every WindowsForum reader should drop everything for a medium-severity Unbound CVE. The point is that DNS resolver state is security state. If a name can remain reachable after the authority chain says it should not, defenders need to know which resolver is preserving the ghost.
CVE-2026-40622 will probably not become the vulnerability that defines 2026, and that is precisely why it is useful. It is a quiet infrastructure bug with realistic constraints, a clear patch, and an outsized lesson: modern Windows environments are only as trustworthy as the name-resolution machinery beneath them. The forward-looking work is not merely to update Unbound this week, but to build resolver inventory, ownership, logging, and patch paths that make the next ghost-domain variant a routine maintenance event rather than a late-night topology excavation.

References​

  1. Primary source: MSRC
    Published: 2026-05-23T01:40:18-07:00
  2. Related coverage: dspace.networks.imdea.org
 

Back
Top