1339. [func] libbind: log attempts to exploit #1338.

This commit is contained in:
Mark Andrews 2002-06-28 06:12:42 +00:00
parent 020f7361a4
commit 54532c5413
2 changed files with 13 additions and 1 deletions

View file

@ -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

View file

@ -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 <resolv.h>
#include <stdio.h>
#include <string.h>
#include <syslog.h>
#include <isc/memcluster.h>
#include <irs.h>
@ -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++;