Full Disclosure mailing list archives

Re: bind dos info?


From: Jeffrey Walton <noloader () gmail com>
Date: Thu, 17 Nov 2011 21:26:16 -0500

On Wed, Nov 16, 2011 at 9:13 PM,  <Valdis.Kletnieks () vt edu> wrote:
On Thu, 17 Nov 2011 11:51:09 EST, "Larry W. Cashdollar" said:
Hello list,
I am wondering if anyone has more details on the bind9 DoS that just came
out? (CVE-2011-4313) from what I can tell it appears a negative cached DNS
object with a valid RR response associated with it(which shouldn't exist)
will cause a vulnerabile bind9 server to crash.

See lines 1890 - 1896 of query.c
1890         if (result == DNS_R_NCACHENXRRSET) {
1891                 dns_rdataset_disassociate(rdataset);
1892                 /*
1893                  * Negative cache entries don't have sigrdatasets.
1894                  */
1895                 INSIST(! dns_rdataset_isassociated(sigrdataset));
1896         }


Since allowing recursive queries must be enabled for this to work the
attacker  must force a vulnerable dns server to query a malicous DNS
server by asking it to look up an NXrecord for a domain the attacker
controls dns for.  Sending a response of NXdomain but having actual DNS
results in the response.

I am wondering if someone has seen a good write up out there?

See above. :)  (Seriously, that's a good one-para summary analysis of the
issue, better than a lot of 3rd-party advisories we see...)
Am I the only guy wondering why an assert is present in production
code? Was -DNDEBUG accidentally omitted? Or is a crash expected
behavior? I don't believe its the later, since its a DoS with CVE.

Jeff

_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.grok.org.uk/full-disclosure-charter.html
Hosted and sponsored by Secunia - http://secunia.com/


Current thread: