diff options
author | Simon L. B. Nielsen <simon@FreeBSD.org> | 2012-08-06 21:33:11 +0000 |
---|---|---|
committer | Simon L. B. Nielsen <simon@FreeBSD.org> | 2012-08-06 21:33:11 +0000 |
commit | 12a852643998f690b2610d9e0c78d562a1f0a5b8 (patch) | |
tree | 76fb2f0801f477ef8316cf485bb63e1d5490fae2 | |
parent | 91843b976ed9c9cea085e348edfb4c94d842f45e (diff) | |
download | src-12a852643998f690b2610d9e0c78d562a1f0a5b8.tar.gz src-12a852643998f690b2610d9e0c78d562a1f0a5b8.zip |
Fix named(8) DNSSEC validation Denial of Service.
Security: FreeBSD-SA-12:05.bind
Security: CVE-2012-3817
Obtained from: ISC
Approved by: so (simon)
Notes
Notes:
svn path=/releng/7.4/; revision=239108
-rw-r--r-- | UPDATING | 3 | ||||
-rw-r--r-- | contrib/bind9/lib/dns/resolver.c | 5 | ||||
-rw-r--r-- | sys/conf/newvers.sh | 2 |
3 files changed, 7 insertions, 3 deletions
@@ -8,6 +8,9 @@ Items affecting the ports and packages system can be found in /usr/ports/UPDATING. Please read that file before running portupgrade. +20120806: p10 FreeBSD-SA-12:05.bind + Fix named(8) DNSSEC validation Denial of Service. + 20120612: p9 FreeBSD-SA-12:03.bind FreeBSD-SA-12:04.sysret Fix a problem where zero-length RDATA fields can cause named to crash. diff --git a/contrib/bind9/lib/dns/resolver.c b/contrib/bind9/lib/dns/resolver.c index f14ac7fda535..5d0b4e9ee83a 100644 --- a/contrib/bind9/lib/dns/resolver.c +++ b/contrib/bind9/lib/dns/resolver.c @@ -7622,6 +7622,7 @@ dns_resolver_addbadcache(dns_resolver_t *resolver, dns_name_t *name, } bad->type = type; bad->hashval = hashval; + bad->expire = *expire; isc_buffer_init(&buffer, bad + 1, name->length); dns_name_init(&bad->name, NULL); dns_name_copy(name, &bad->name, &buffer); @@ -7633,8 +7634,8 @@ dns_resolver_addbadcache(dns_resolver_t *resolver, dns_name_t *name, if (resolver->badcount < resolver->badhash * 2 && resolver->badhash > DNS_BADCACHE_SIZE) resizehash(resolver, &now, ISC_FALSE); - } - bad->expire = *expire; + } else + bad->expire = *expire; cleanup: UNLOCK(&resolver->lock); } diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 379844794e43..50b946b5e5d2 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -32,7 +32,7 @@ TYPE="FreeBSD" REVISION="7.4" -BRANCH="RELEASE-p9" +BRANCH="RELEASE-p10" if [ "X${BRANCH_OVERRIDE}" != "X" ]; then BRANCH=${BRANCH_OVERRIDE} fi |