From: Mark Andrews Date: Fri, 28 Jun 2002 06:12:42 +0000 (+0000) Subject: 1339. [func] libbind: log attempts to exploit #1338. X-Git-Tag: v9.0.1^2~8292 X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=54532c54130de8f374465bb23d5576fc3257ea96;p=thirdparty%2Fbind9.git 1339. [func] libbind: log attempts to exploit #1338. --- diff --git a/CHANGES b/CHANGES index 916628976f9..e2c1fb0fdba 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,5 @@ +1339. [func] libbind: log attempts to exploit #1338. + 1338. [bug] libbind: Remote buffer overrun. 1337. [port] libbind: TrueUNIX 5.1 does not like __align as a diff --git a/lib/bind/irs/dns_ho.c b/lib/bind/irs/dns_ho.c index 9f51df9cc88..bb7b512bcdc 100644 --- a/lib/bind/irs/dns_ho.c +++ b/lib/bind/irs/dns_ho.c @@ -52,7 +52,7 @@ /* BIND Id: gethnamaddr.c,v 8.15 1996/05/22 04:56:30 vixie Exp $ */ #if defined(LIBC_SCCS) && !defined(lint) -static const char rcsid[] = "$Id: dns_ho.c,v 1.10 2002/06/28 06:06:23 marka Exp $"; +static const char rcsid[] = "$Id: dns_ho.c,v 1.11 2002/06/28 06:12:42 marka Exp $"; #endif /* LIBC_SCCS and not lint */ /* Imports. */ @@ -74,6 +74,7 @@ static const char rcsid[] = "$Id: dns_ho.c,v 1.10 2002/06/28 06:06:23 marka Exp #include #include #include +#include #include #include @@ -1194,6 +1195,15 @@ gethostans(struct irs_ho *this, eor = cp + n; if ((qtype == T_A || qtype == T_AAAA || qtype == ns_t_a6 || qtype == T_ANY) && type == T_CNAME) { + if (haveanswer) { + int level = LOG_CRIT; +#ifdef LOG_SECURITY + level |= LOG_SECURITY; +#endif + syslog(level, + "gethostans: possible attempt to exploit buffer overflow while looking up %s", + *qname ? qname : "."); + } n = dn_expand(ansbuf, eor, cp, tbuf, sizeof tbuf); if (n < 0 || !maybe_ok(pvt->res, tbuf, name_ok)) { had_error++;