From 7388f9c4d84d286b3a03f7b844d8acce50da77a0 Mon Sep 17 00:00:00 2001 From: simon Date: Wed, 29 Jul 2009 00:14:14 +0000 Subject: [PATCH] Fix BIND named(8) dynamic update message remote DoS. Obtained from: ISC Security: FreeBSD-SA-09:12.bind Security: CVE-2009-0696 Approved by: so (simon) git-svn-id: svn://svn.freebsd.org/base/releng/7.2@195935 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- UPDATING | 3 +++ contrib/bind9/bin/named/update.c | 6 +++++- sys/conf/newvers.sh | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/UPDATING b/UPDATING index 6a921b20..19b10910 100644 --- a/UPDATING +++ b/UPDATING @@ -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. +20090729: p3 FreeBSD-SA-09:12.bind + Fix BIND named(8) dynamic update message remote DoS. + 20090624: p2 FreeBSD-EN-09:02.bce, FreeBSD-EN-09:03.fxp, FreeBSD-EN-09:04.fork Fix packet length calculation in bce(4). [EN-09:02] diff --git a/contrib/bind9/bin/named/update.c b/contrib/bind9/bin/named/update.c index fb6dec2f..8c122d3e 100644 --- a/contrib/bind9/bin/named/update.c +++ b/contrib/bind9/bin/named/update.c @@ -865,7 +865,11 @@ temp_check(isc_mem_t *mctx, dns_diff_t *temp, dns_db_t *db, if (type == dns_rdatatype_rrsig || type == dns_rdatatype_sig) covers = dns_rdata_covers(&t->rdata); - else + else if (type == dns_rdatatype_any) { + dns_db_detachnode(db, &node); + dns_diff_clear(&trash); + return (DNS_R_NXRRSET); + } else covers = 0; /* diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index 22ebb11e..bbf24306 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -32,7 +32,7 @@ TYPE="FreeBSD" REVISION="7.2" -BRANCH="RELEASE-p2" +BRANCH="RELEASE-p3" if [ "X${BRANCH_OVERRIDE}" != "X" ]; then BRANCH=${BRANCH_OVERRIDE} fi -- 2.42.0