- CERT-Bund has published an advisory on security vulnerabilities in BIND under the identifier WID-SEC-2026-2484.
- Potentially affected are all servers running
named– whether as an authoritative nameserver for your own domains or as a recursive resolver. - Checking this takes under 15 minutes on a root server: determine the version, check port 53 exposure, adjust the configuration, update the package.
A DNS server usually just runs quietly in the background, untouched for years, until at some point an advisory with a number like WID-SEC-2026-2484 shows up and you start wondering whether "named" on your server is even still the version you installed back in 2023.
What this is about
The CERT-Bund Warning and Information Service (WID) has published an advisory on security vulnerabilities in BIND, the nameserver used by a large share of the internet's authoritative and recursive DNS infrastructure – from a hobbyist nameserver for a handful of domains to the recursive resolver of an entire data center. You'll find the exact CVE numbers, affected version ranges, and severity rating in the original advisory at CERT-Bund – that is the authoritative source, not this summary.
What matters for you as an operator is always the same, regardless of the advisory's specific details: you need to know which version is running, whether the service is reachable from the internet, and how quickly you can apply an update without interrupting name resolution for your domains or customers.
Who might be affected
Not everyone with a domain runs their own nameserver – most people use their registrar's or hosting provider's DNS. The advisory becomes relevant to you if you've installed bind9 or named yourself on your own root server or VPS, for example to manage your own zones, run a recursive resolver for internal services, or centralize DNS for multiple domains.
| Operation type | Reachable from the internet | Typical risk from a BIND vulnerability |
|---|---|---|
| Authoritative nameserver (own domains) | Yes, port 53 must be open | Zone takeover, cache manipulation, in the worst case code execution |
| Recursive resolver (public) | Yes, often also exploitable for UDP amplification | Cache poisoning, DDoS amplification, code execution |
| Internal resolver (LAN/VPN only) | No, only from your own network | Lower, but relevant for lateral movement after another breach |
How to check your own server
The following steps assume that BIND is installed as the bind9 package via your distribution's package manager, as is standard on most Debian and Ubuntu systems.
- Determine the installed version. First check which version is actually running, not just which one the package manager lists as installed.
named -v sudo systemctl status bind9 - Compare against the advisory. Open the advisory and compare the affected version ranges listed there with your output. If your version is older than the patched version named in the advisory, you're affected.
- Check exposure. Determine whether and how your server is reachable from the internet – this decides how urgent the update is.
sudo ss -tulpn | grep :53 - Update the package source and apply the update. First pull the current package list, then the update itself.
sudo apt update sudo apt list --upgradable | grep bind9 sudo apt upgrade bind9 - Restart the service and check its status. An upgrade alone isn't enough – the running process has to be restarted for the patched version to become active.
sudo systemctl restart bind9 sudo rndc status - Harden the configuration, independent of this specific advisory. Restrict who is allowed to make recursive queries and request zone transfers, in
named.conf.options:allow-recursion { 127.0.0.1; dein.internes.netz/24; }; allow-transfer { deine.sekundaer.ip; };
Checking whether it worked
After the update and restart, you should check two things: that the new version is actually active, and that name resolution still works.
named -v
dig @127.0.0.1 deine-domain.de +short
If dig returns a response and named -v shows the expected, patched version number, the update was successful. Afterwards, take a look at the log to make sure the restart completed without configuration errors:
sudo journalctl -u bind9 -n 50 --no-pager
Run your own BIND server, or hand it off?
An advisory like this is a good occasion to fundamentally question whether a self-maintained nameserver is still the right choice for your use case.
- Full control over zones, TTLs, and access rules
- No dependency on a third-party provider's availability
- Necessary if you need complex internal DNS structures or split-horizon setups
- You're responsible for tracking advisories like this one yourself and patching promptly
- An open port 53 is a permanent target, regardless of the current advisory
- With only a few domains, the maintenance effort is often disproportionate to the benefit
If you decide to run it yourself, the same basic principle applies to BIND as to any other publicly reachable service on your server: restrict access as tightly as possible, apply updates promptly, and don't forget the rest of the hardening. We've covered how to properly secure SSH access on the same server, for example, in a separate post on SSH access, keys, and fail2ban – the principles carry over directly.
An advisory doesn't change the threat landscape, it just makes it visible. The vulnerability was already there before – just without a public number.
How quickly a known advisory turns into a real problem when it's ignored is shown by our review of the Virtualizor incident with BGP hijacking and a tampered update: there too, the actual vulnerability was known before it was exploited. If you don't just restart the service after an update but also keep an eye on it permanently, you'll notice a renewed outage or a renewed compromise much earlier – that's what we offer our monitoring for servers and services for.
If you don't need BIND anymore
It's not unusual for BIND to stay installed even though the actual need for it disappeared long ago – an old setup, a test server, a project that was discontinued. In that case, the cleanest response to an advisory isn't the update, it's uninstalling it:
sudo systemctl stop bind9
sudo systemctl disable bind9
sudo apt purge bind9
A service that isn't running can't be exploited by even the most critical vulnerability – and every port that's closed is one less attack surface, regardless of the current advisory.