From: Mark Andrews Date: Tue, 15 Jan 2008 04:02:01 +0000 (+0000) Subject: 2305. [security] inet_network() buffer overflow. CVE-2008-0122. X-Git-Tag: v9.3.5rc1~28^2~42 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=fcdafc1e30dd4d10184b56201ea2fc3bab711e5e;p=thirdparty%2Fbind9.git 2305. [security] inet_network() buffer overflow. CVE-2008-0122. --- diff --git a/CHANGES b/CHANGES index 9ae00a770f4..e9b33fd19bc 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,5 @@ +2305. [security] inet_network() buffer overflow. CVE-2008-0122. + 2304. [bug] Check returns from all dns_rdata_tostruct() calls. [RT #17460] diff --git a/lib/bind/inet/inet_network.c b/lib/bind/inet/inet_network.c index 4758a00f265..47976cff68d 100644 --- a/lib/bind/inet/inet_network.c +++ b/lib/bind/inet/inet_network.c @@ -84,9 +84,9 @@ again: } if (!digit) return (INADDR_NONE); + if (pp >= parts + 4 || val > 0xffU) + return (INADDR_NONE); if (*cp == '.') { - if (pp >= parts + 4 || val > 0xffU) - return (INADDR_NONE); *pp++ = val, cp++; goto again; }