Article Details

Scrape Timestamp (UTC): 2024-02-13 23:30:53.351

Source: https://www.theregister.com/2024/02/13/dnssec_vulnerability_internet/

Original Article Text

Click to Toggle View

Just one bad DNS packet can bring down a public DNSSEC server. 'You don't have to do more than that to disconnect an entire network' El Reg told as patches emerge A 20-plus-year-old security vulnerability in the design of DNSSEC (Domain Name System Security Extensions) could allow a single DNS packet to exhaust the processing capacity of any server using the system for domain name resolution, effectively disabling the machine. Yes, a single DNS packet could take out a remote DNSSEC server. The researchers who found the flaw – from the German National Research Center for Applied Cybersecurity (ATHENE) in Darmstadt – said DNS vendors briefed about the vulnerability described it as "the worst attack on DNS ever discovered." What is DNSSEC? DNS servers are used by web browsers and other software to turn human-friendly host names like theregister.com into machine-friendly IP addresses to connect to. Those servers are run by all sorts of organizations, from home ISPs to the likes of Google, Cloudflare, and AdGuard. DNS is insecure, though, because it sends queries and responses over networks in plain text, allowing that data to be potentially altered by snoops to direct people's connections to malicious systems. DNSSEC is an upgrade for DNS in that it uses cryptography to ensure the results of queries aren't tampered with in transit, though it doesn't encrypt the data so queries and responses are not private to network eavesdroppers. For privacy, you'll want something like DNS-over-HTTPS or DNS-over-TLS. Identified by Professor Dr Haya Schulmann and Niklas Vogel of the Goethe University Frankfurt, Elias Heftrig from Fraunhofer SIT, and Professor Dr Michael Waidner from Technical University of Darmstadt and Fraunhofer SIT, the security hole has been named KeyTrap, designated CVE-2023-50387 and assigned a CVSS severity rating of 7.5 out of 10. As of December 2023, approximately 31 percent of web clients worldwide used DNSSEC-validating DNS resolvers, and like other applications relying on DNSSEC would feel the effects of a KeyTrap attack: with those resolvers taken down by the flaw, these clients would be unable to securely resolve host names to IP addresses, meaning a loss of connectivity or a downgrade to normal DNS. The researchers said single DNS packets exploiting KeyTrap could stall public DNS services, such as those provided by Google and Cloudflare, by making them do calculations that overtax the CPU. The disruption of DNS could not only deny people's access to content but could also interfere with other systems, including spam defenses, cryptographic defenses (PKI), and inter-domain routing security (RPKI), the researchers assert. "Exploitation of this attack would have severe consequences for any application using the Internet including unavailability of technologies such as web-browsing, e-mail, and instant messaging," they commented. "With KeyTrap, an attacker could completely disable large parts of the worldwide Internet." A technical paper on the vulnerability provided to The Register, titled, "The KeyTrap Denial-of-Service Algorithmic Complexity Attacks on DNS," describes how an assault would be carried out. "To initiate the attacks our adversary causes the victim resolver to look up a record in its malicious domain," the soon-to-be-published paper states. "The attacker’s nameserver responds to the DNS queries with a malicious record set (RRset), according to the specific attack vector and zone configuration." The attack works, the paper explains, because the DNSSEC spec follows Postel’s Law: "The nameservers should send all the available cryptographic material, and the resolvers should use any of the cryptographic material they receive until the validation is successful." This requirement, to ensure availability, means that the CPU can be forced to do a lot of work if presented with colliding key-tags and colliding keys that must be validated. "Our complexity attacks are triggered by feeding the DNS resolvers with specially crafted DNSSEC records, which are constructed in a way that exploits validation vulnerabilities in cryptographic validation logic," the paper explains. "When the DNS resolvers attempt to validate the DNSSEC records they receive from our nameserver, they get stalled. Our attacks are extremely stealthy, being able to stall resolvers between 170 seconds and 16 hours (depending on the resolver software) with a single DNS response packet." The ATHENE boffins say they worked with all relevant vendors and major public DNS providers prior to privately disclose the vulnerability so a coordinated patch release would be possible. The last patch was finished today. "We are aware of this vulnerability and rolled out a fix in coordination with the reporting researchers," a Google spokesperson told The Register. "There is no evidence of exploitation and no action required by users at this time." Network research lab NLnet Labs published a patch for its Upbound DNS software, addressing two vulnerabilities, one of which is KeyTrap. The other bug fixed, CVE-2023-50868, referred to as the NSEC3 vulnerability, also allows denial of service through CPU exhaustion. "The KeyTrap vulnerability works by using a combination of Keys (also colliding Keys), Signatures and number of RRSETs on a malicious zone," NLnet Labs wrote. "Answers from that zone can force a DNSSEC validator down a very CPU intensive and time costly validation path." The fix for CVE-2023-50387 is just one of six vulnerabilities addressed in Internet Systems Consortium's BIND 9 DNS software. The others include: The requirements for the KeyTrap vulnerability date all the way back to 1999 from the now obsolete RFC 2535, according to the research team that identified it. And by 2012, these elements appeared in RFC 6781 and RFC 6840, the implementation requirements for DNSSEC validation. One packet suffices. You don't have to do more than that to disconnect an entire network Since at least August 2000 – more than 23 years ago – KeyTrap has been present in the BIND 9 DNS resolver, and it surfaced seven years later in the Unbound DNS resolver. Dr Haya Shulman, professor for computer science at Goethe-Universität Frankfurt, told The Register in a phone interview the attack is simple and can be carried out by encoding it in a zone file. "The vulnerability is actually something that's recommended in the DNSSEC standard," Shulman explained. "One packet suffices. You don't have to do more than that to disconnect an entire network." Shulman said the patches that have been issued by various vendors break the standard. "The problem is this attack is not easy to solve," she said. "If we launch it against a patched resolver, we still get 100 percent CPU usage but it can still respond." The ATHENE team observes that while the flaw remained undetected for decades, its obscurity isn't surprising because DNSSEC validation requirements are so complicated. So too is mitigating the vulnerability and completely eliminating it will require a revision of the DNSSEC standard.

Daily Brief Summary

CYBERCRIME // Single DNS Packet Vulnerability Threatens Global Internet Stability

A critical vulnerability called KeyTrap in DNSSEC could allow a single malicious DNS packet to disable DNS servers, disrupting global internet connectivity.

DNSSEC is an enhancement to DNS that provides authentication of DNS queries to prevent tampering, but it does not encrypt the data for privacy.

The vulnerability, assigned CVE-2023-50387, has been present for over two decades but was difficult to detect due to the complexity of DNSSEC validation requirements.

KeyTrap can force public DNS services like Google's and Cloudflare's to conduct CPU-intensive calculations, potentially stalling the servers for up to 16 hours with a single packet.

The ATHENE research team worked with vendors and public DNS providers to coordinate a release of patches to address the flaw, with no current evidence of its exploitation.

A revision of the DNSSEC standard may be necessary to fully mitigate and eliminate the vulnerability as the issued patches do not completely prevent high CPU usage.

DNSSEC's vulnerability highlights the delicate balance between internet security features and the risk of unforeseen exploits in widely adopted protocols.