search menu icon-carat-right cmu-wordmark

CERT Coordination Center


Unbound DNS resolver denial of service vulnerability

Vulnerability Note VU#531342

Original Release Date: 2011-05-25 | Last Revised: 2011-05-25

Overview

A specially crafted DNS query may cause Unbound to respond with an empty UDP packet which triggers an assertion failure and stops the daemon.

Description

NLnetLabs advisory states:

"Certain types of DNS queries may cause Unbound to respond with a DNS error message. The code generating this error message contains an error whereby Unbound constructs an empty UDP message. That empty UDP message triggers an assertion failsafe in the part of Unbound that is invoked when the interface-automatic option is set. In the case that the interface-automatic option was not set or assertion failsafe is not configured the empty packets would be sent, which is not harmful. The error can only be triggered when Unbound is configured with assertions (--enable-checking or --enable-debug) and has the option interface-automatic turned on.

Versions in which this error occurs: Unbound 1.0 up to and including Unbound 1.4.9

    • FreeBSD ports for Unbound are not susceptible by default, as it does not enable assertions.
    • RHEL/Fedora systems do compile Unbound with --enable-checking but do not set automatic-interface:yes per default.
    • Debian/Ubuntu Unbound packages do not compile with assertions by default."

Impact

A remote, unauthenticated attacker can cause the Unbound daemon to crash creating a denial of service condition.

Solution

Apply an UpdateThis vulnerability has been addressed in Unbound 1.4.10. The following patch may also be applied to resolve the issue:

Index: daemon/worker.c
===================================================================
--- daemon/worker.c(revision 2416)
+++ daemon/worker.c(working copy)
@@ -779,6 +779,7 @@
qinfo.qtype == LDNS_RR_TYPE_IXFR) {
verbose(VERB_ALGO, "worker request: refused zone transfer.");
log_addr(VERB_CLIENT,"from",&repinfo->addr, repinfo->addrlen);
+ldns_buffer_rewind(c->buffer);
LDNS_QR_SET(ldns_buffer_begin(c->buffer));
LDNS_RCODE_SET(ldns_buffer_begin(c->buffer),
LDNS_RCODE_REFUSED);

Vendor Information

531342
Expand all

NLnet Labs

Notified:  May 19, 2011 Updated:  May 25, 2011

Status

  Affected

Vendor Statement

No statement is currently available from the vendor regarding this vulnerability.

Vendor Information

We are not aware of further vendor information regarding this vulnerability.

Addendum

There are no additional comments at this time.

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


CVSS Metrics

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

References

Credit

This vulnerability was found by Christopher Olah and reported by NLnetLabs.

This document was written by Jared Allar.

Other Information

CVE IDs: CVE-2011-1922
Severity Metric: 0.03
Date Public: 2011-05-25
Date First Published: 2011-05-25
Date Last Updated: 2011-05-25 13:15 UTC
Document Revision: 14

Sponsored by the Department of Homeland Security Office of Cybersecurity and Communications.