SkipNavigation
US-CERT
American Flag
  Vulnerability
Notes
Database

Search Vulnerability Notes

Vulnerability Notes Help Information

Report a Vulnerability

 
 View Notes By
  Name

ID Number

CVE Name

Date Public

Date Published

Date Updated

Severity Metric



 Other Documents
  Technical Alerts

Technical Bulletins

Alerts

Security Tips

Vulnerability Note VU#531342

Unbound DNS resolver denial of service vulnerability

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.

I. 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."

    II. Impact

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

    III. Solution

    Apply an Update

    This 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

    VendorStatusDate NotifiedDate Updated
    NLnet LabsAffected2011-05-192011-05-25

    References

    http://unbound.net/downloads/unbound-latest.tar.gz
    http://unbound.net/
    http://unbound.nlnetlabs.nl/downloads/CVE-2011-1922.txt

    Credit

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

    This document was written by Jared Allar.

    Other Information

    Date Public:2011-05-25
    Date First Published:2011-05-25
    Date Last Updated:2011-05-25
    CERT Advisory: 
    CVE-ID(s):CVE-2011-1922
    NVD-ID(s):CVE-2011-1922
    US-CERT Technical Alerts: 
    Severity Metric:0.03
    Document Revision:14

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

  •  
    Page Corner Image
    Produced 2011 by US-CERT, a government organization
    Disclaimers and copyright information
    Get a PDF Reader