>samit_hota
Back to advisories

Security Advisory · SH-2026-205

HIGHCVE-2015-5477CVSS 7.5OPEN

CVE-2015-5477: Dissecting the ISC BIND TKEY Denial of Service Vulnerability

Affected: ISC BIND

Samit Hota·
#kev#isc

A single malformed UDP packet sent to port 53 can instantly crash an unpatched name server running the ISC BIND software suite. Identified as CVE-2015-5477, this high-severity data processing flaw in BIND’s handling of TKEY queries causes the named process to exit unexpectedly. Because it requires zero authentication, no prior access, and no user interaction, the vulnerability carries a CVSS v3.1 base score of 7.5 (vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H). With a measured EPSS score of 91.3%—placing it in the 99.8th percentile for real-world threat activity—it remains one of the most reliably triggerable denial-of-service vectors against unpatched DNS infrastructure.

Mechanism of the TKEY Assertion Failure

The vulnerability stems from improper handling of query data within BIND’s TKEY implementation (categorized under CWE-19 and CWE-617). TKEY resource records are typically used to establish shared secret keys for TSIG (Transaction Signature) authentication between a client and a DNS server.

When BIND processes an incoming DNS packet containing a TKEY query, the dns_tkey_processquery() function extracts and parses the record’s data buffer. If an attacker constructs a query packet where the RDATA section contains specific malformed or unexpected data structures, BIND fails an internal validation assertion (REQUIRE). BIND’s defensive programming model treats any failed REQUIRE assertion as an unrecoverable condition, immediately calling abort() and bringing down the named daemon. Because this crash occurs during early packet extraction, it bypasses standard zone configuration checks and affects both recursive resolvers and authoritative nameservers.

Exposure Profile and Operational Risk

The practical risk of this vulnerability is elevated by two structural factors in how BIND handles incoming network traffic:

  • Pre-ACL Processing: BIND parses the TKEY payload before applying standard access control lists (ACLs) such as allow-query or allow-recursion. An attacker does not need permission to resolve queries on the target server; simply reaching UDP or TCP port 53 on an open socket is sufficient to trigger the assertion failure.
  • Trivial Proof-of-Concept Overhead: Exploitation requires no brute-forcing, state manipulation, or heap grooming. A single DNS request constructed via custom packet tools or readily available exploit frameworks will instantly crash named, resulting in a complete failure of name resolution services for all dependent clients and downstream systems.

Because functional exploit scripts have been public for years, automated internet-wide scanners regularly sweep exposed port 53 endpoints for vulnerable versions (primarily ISC BIND versions 9.9.0 through 9.9.7 and 9.10.0 through 9.10.2).

Remediation and Mitigation Guidelines

The primary resolution for CVE-2015-5477 is updating the BIND installation to a patched version. Legacy installations must be updated to at least BIND 9.9.7-P1 or BIND 9.10.2-P2, though modern production environments should migrate to actively supported maintenance branches such as BIND 9.18 or 9.20.

If immediate package updates cannot be deployed:

  1. Network Packet Filtering: Deploy Intrusion Prevention System (IPS) rules or deep packet inspection (DPI) at the edge firewall to detect and drop malformed DNS TKEY payloads targeting port 53.
  2. Automated Process Recovery: Ensure named is managed by a process supervisor (such as systemd with Restart=always enabled) to automatically restart the daemon in the event of an assertion crash, mitigating prolonged downtime while patches are applied.
  3. Forensic Triage: If an unexpected crash occurs, inspect syslog or /var/log/messages for log entries referencing assertion failure in tkey.c to confirm whether the daemon was targeted by this exploit.

Found something similar in your stack?

Let's find out before it becomes an incident.

Book an advisory call