|
![]() |
|
|
|
Vulnerability Note VU#16532BIND T_NXT record processing may cause buffer overflowOverviewA vulnerability in BIND, repaired in verison 8.2.2p5, allows remote attackers to execute code with the privileges of the process running named. This vulnerability was widely exploited from November 1999 to December 2000.I. DescriptionThere is a buffer overflow in the processing of NXT records in the routine rrextract, part of the file ns_resp.c. Specifically, in vulnerable versions of BIND, there is a section of code which reads:case T_NXT: n = dn_expand(msg, eom, cp, (char *)data, sizeof data); if (n < 0) { hp->rcode = FORMERR; return (-1); } if (!ns_nameok((char *)data, class, NULL, response_trans, domain_ctx, dname, from.sin_addr)) { hp->rcode = FORMERR; return (-1); } cp += n; cp1 = data + strlen((char *)data) + 1; memcpy(cp1, cp, dlen - n); The value of the dlen can be influenced by an intruder in such a way that the expression 'dlen - n' is larger than the size allocated to cp1. Further, the contents of cp can be influenced by an intruder. Thus, this vulnerability can be exploited to execute arbitrary code with the privileges of the process running named. An exploit for this vulnerability is publicly available .
Referenceshttp://www.cert.org/advisories/CA-2000-03.html Our thanks to ISC for assistance in understanding this vulnerability. This document was written by Shawn V Hernan.
If you have feedback, comments, or additional information about this vulnerability, please send us
email. |
||||||||||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||||||||||||