aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon L. B. Nielsen <simon@FreeBSD.org>2012-08-06 21:33:11 +0000
committerSimon L. B. Nielsen <simon@FreeBSD.org>2012-08-06 21:33:11 +0000
commit83f072b6fd712ae3536923ec1c97dcf8a408686a (patch)
tree1c53a09b07f628bc572da7e06719c23023b4e485
parentd961d92acefa29350d80a1016f64b9fd08db7159 (diff)
downloadsrc-releng/8.2.tar.gz
src-releng/8.2.zip
Fix named(8) DNSSEC validation Denial of Service.releng/8.2
Security: FreeBSD-SA-12:05.bind Security: CVE-2012-3817 Obtained from: ISC Approved by: so (simon)
Notes
Notes: svn path=/releng/8.2/; revision=239108
-rw-r--r--UPDATING3
-rw-r--r--contrib/bind9/lib/dns/resolver.c5
-rw-r--r--sys/conf/newvers.sh2
3 files changed, 7 insertions, 3 deletions
diff --git a/UPDATING b/UPDATING
index b2e26c692f24..5d13e9f9264e 100644
--- a/UPDATING
+++ b/UPDATING
@@ -15,6 +15,9 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8.x IS SLOW ON IA64 OR SUN4V:
debugging tools present in HEAD were left in place because
sun4v support still needs work to become production ready.
+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
FreeBSD-EN-12:02.ipv6refcount
diff --git a/contrib/bind9/lib/dns/resolver.c b/contrib/bind9/lib/dns/resolver.c
index 8803a052c8f9..f20e27f38ffa 100644
--- a/contrib/bind9/lib/dns/resolver.c
+++ b/contrib/bind9/lib/dns/resolver.c
@@ -7936,6 +7936,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);
@@ -7947,8 +7948,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 fd6a33e1e973..298f9f9838a0 100644
--- a/sys/conf/newvers.sh
+++ b/sys/conf/newvers.sh
@@ -32,7 +32,7 @@
TYPE="FreeBSD"
REVISION="8.2"
-BRANCH="RELEASE-p9"
+BRANCH="RELEASE-p10"
if [ "X${BRANCH_OVERRIDE}" != "X" ]; then
BRANCH=${BRANCH_OVERRIDE}
fi