Vulnerability Note VU#23495

DNS implementations vulnerable to denial-of-service attacks via malformed DNS queries

Original Release date: 18 Jun 2001 | Last revised: 15 Nov 2005

Overview

Incorrect decoding of malformed DNS packets causes certain DNS implementations to hang or crash.

Description

RFC1035 (DOMAIN NAMES, IMPLEMENTATION AND SPECIFICATION) defines a mechanism for conserving bytes in a DNS query or reply packet by avoiding repetition of character strings ("labels") in a domain name. Thus if the label "domain.com" appears several times in a query or response packet (i.e. "www.domain.com", "host.subdomain.domain.com", "ns.domain.com"), only the first occurrence need be fully specified - further occurrences of "domain.com" can be alluded to by using a pointer to the first occurrence. Since labels in a DNS packet are preceded by an 8 bit length field, and since individual labels are restricted to 63 characters, there are 2 unused bits in the length field. Setting these two bits 2 to "11" indicates that the following byte is not a label but rather a pointer to a prior occurrence of a label elsewhere in the packet. Programs are not required to encode packets using this label compression scheme, but all programs are required to be able to decode any such packets that are received.

Numerous DNS implementations do not perform sufficient input checking on compressed labels, allowing an attacker to craft a DNS query containing malformed compressed labels. For example, a packet can be constructed that has a pointer that points back to itself, or that contains a pointer that points to another pointer which points back to the first pointer. When vulnerable programs attempt to decode these malformed labels, various undesirable effects can be induced in the decoding process including allocating all of the process's available memory or causing the process to enter an infinite loop.

Note: Any program that performs raw decoding of DNS packets (sniffers, IDS, nameservers, etc.) may potentially exhibit this vulnerability unless care has been taken in the implementation of the decompression code. Many popular programs besides tcpdump and ethereal perform these functions, and may not have been tested for this vulnerability yet.

Impact

If a remote, unauthenticated attacker supplies a vulnerable DNS implementation with a specially crafted query, they may be able to cause that DNS software to enter an infinite loop eventually consuming 100% CPU resources. This will cause the DNS software to crash resulting in a denial-of-service condition.

Solution

Apply patch

Users are encouraged to check with their vendor to determine the appropriate patch or update to apply.

Systems Affected (Learn More)

VendorStatusDate NotifiedDate Updated
EtherealAffected-30 May 2001
Tcpdump.OrgAffected-30 May 2001
Apple Computer, Inc.Not Affected-10 Nov 2005
Microsoft CorporationNot Affected10 Nov 200515 Nov 2005
F5 Networks, Inc.Unknown10 Nov 200510 Nov 2005
Internet Software ConsortiumUnknown10 Nov 200510 Nov 2005
Openwall GNU/*/LinuxUnknown10 Nov 200510 Nov 2005
If you are a vendor and your product is affected, let us know.

CVSS Metrics (Learn More)

Group Score Vector
Base N/A N/A
Temporal N/A N/A
Environmental N/A N/A

References

Credit

Thanks to Hugo Breton and scut@nb.in-berlin.de for reporting this vulnerability. Additional information for this issue was provided by the by the NISCC Vulnerability Management Team.

This document was written by the CERT Technical Staff.

Other Information

  • CVE IDs: CVE-2000-0333
  • Date Public: 30 May 99
  • Date First Published: 18 Jun 2001
  • Date Last Updated: 15 Nov 2005
  • Severity Metric: 41.92
  • Document Revision: 31

Feedback

If you have feedback, comments, or additional information about this vulnerability, please send us email.