-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
============================================================================FreeBSD-SA-06:20.bind Security Advisory
The FreeBSD Project
Topic: Denial of Service in named(8)
Category: contrib
Module: bind
Announced: 2006-09-06
Credits: The Measurement Factory
Affects: FreeBSD 5.3 and later.
Corrected: 2006-09-06 21:18:26 UTC (RELENG_6, 6.1-STABLE)
2006-09-06 21:19:21 UTC (RELENG_6_1, 6.1-RELEASE-p6)
2006-09-06 21:20:08 UTC (RELENG_6_0, 6.0-RELEASE-p11)
2006-09-06 21:20:54 UTC (RELENG_5, 5.5-STABLE)
2006-09-06 21:21:50 UTC (RELENG_5_5, 5.5-RELEASE-p4)
2006-09-06 21:22:39 UTC (RELENG_5_4, 5.4-RELEASE-p18)
2006-09-06 21:23:16 UTC (RELENG_5_3, 5.3-RELEASE-p33)
CVE Name: CVE-2006-4095, CVE-2006-4096
For general information regarding FreeBSD Security Advisories,
including descriptions of the fields above, security branches, and the
following sections, please visit
.
I. Background
BIND 9 is an implementation of the Domain Name System (DNS) protocols.
The named(8) daemon is an Internet domain name server. DNS Security
Extensions (DNSSEC) are additional protocol options that add
authentication and integrity to the DNS protocols.
II. Problem Description
For a recursive DNS server, a remote attacker sending enough recursive
queries for the replies to arrive after all the interested clients
have left the recursion queue will trigger an INSIST failure in the
named(8) daemon. Also for a a recursive DNS server, an assertion
failure can occour when processing a query whose reply will contain
more than one SIG(covered) RRset.
For an authoritative DNS server serving a RFC 2535 DNSSEC zone which
is queried for the SIG records where there are multiple SIG(covered)
RRsets (e.g. a zone apex), named(8) will trigger an assertion failure
when it tries to construct the response.
III. Impact
An attacker who can perform recursive lookups on a DNS server and is able
to send a sufficiently large number of recursive queries, or is able to
get the DNS server to return more than one SIG(covered) RRsets can stop
the functionality of the DNS service.
An attacker querying an authoritative DNS server serving a RFC 2535
DNSSEC zone may be able to crash the DNS server.
All of the above issues will result in a Denial of Service situation.
IV. Workaround
A possible workaround is to only allow trusted clients to perform recursive
queries.
V. Solution
Perform one of the following:
1) Upgrade your vulnerable system to 5-STABLE, or 6-STABLE, or to the
RELENG_6_1, RELENG_6_0, RELENG_5_5, RELENG_5_4, or RELENG_5_3 security
branch dated after the correction date.
2) To patch your present system:
The following patches have been verified to apply to FreeBSD 5.3, 5.4,
5.5, 6.0, and 6.1 systems.
a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.
# fetch http://security.FreeBSD.org/patches/SA-06:20/bind.patch
# fetch http://security.FreeBSD.org/patches/SA-06:20/bind.patch.asc
b) Execute the following commands as root:
# cd /usr/src
# patch < /path/to/patch
# cd /usr/src/lib/bind
# make obj && make depend && make && make install
# cd /usr/src/usr.sbin/named
# make obj && make depend && make && make install
c) Restart the named application:
# /etc/rc.d/named restart
VI. Correction details
The following list contains the revision numbers of each file that was
corrected in FreeBSD.
Branch Revision
Path
- -------------------------------------------------------------------------
RELENG_5
src/contrib/bind9/bin/named/query.c 1.1.1.1.2.3
src/contrib/bind9/lib/dns/resolver.c 1.1.1.1.2.5
RELENG_5_5
src/UPDATING 1.342.2.35.2.4
src/sys/conf/newvers.sh 1.62.2.21.2.6
src/contrib/bind9/bin/named/query.c 1.1.1.1.2.2.2.1
src/contrib/bind9/lib/dns/resolver.c 1.1.1.1.2.4.2.1
RELENG_5_4
src/UPDATING 1.342.2.24.2.27
src/sys/conf/newvers.sh 1.62.2.18.2.23
src/contrib/bind9/bin/named/query.c 1.1.1.1.2.1.4.1
src/contrib/bind9/lib/dns/resolver.c 1.1.1.1.2.2.2.1
RELENG_5_3
src/UPDATING 1.342.2.13.2.36
src/sys/conf/newvers.sh 1.62.2.15.2.38
src/contrib/bind9/bin/named/query.c 1.1.1.1.2.1.2.1
src/contrib/bind9/lib/dns/resolver.c 1.1.1.1.2.1.2.1
RELENG_6
src/contrib/bind9/bin/named/query.c 1.1.1.1.4.2
src/contrib/bind9/lib/dns/resolver.c 1.1.1.2.2.3
RELENG_6_1
src/UPDATING 1.416.2.22.2.8
src/sys/conf/newvers.sh 1.69.2.11.2.8
src/contrib/bind9/bin/named/query.c 1.1.1.1.4.1.2.1
src/contrib/bind9/lib/dns/resolver.c 1.1.1.2.2.2.2.1
RELENG_6_0
src/UPDATING 1.416.2.3.2.16
src/sys/conf/newvers.sh 1.69.2.8.2.12
src/contrib/bind9/bin/named/query.c 1.1.1.1.6.1
src/contrib/bind9/lib/dns/resolver.c 1.1.1.2.2.1.2.1
- -------------------------------------------------------------------------
VII. References
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-4095
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-4096
http://www.kb.cert.org/vuls/id/697164
http://www.kb.cert.org/vuls/id/915404
http://www.niscc.gov.uk/niscc/docs/re-20060905-00590.pdf?lang=en
The latest revision of this advisory is available at
http://security.FreeBSD.org/advisories/FreeBSD-SA-06:20.bind.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (FreeBSD)
iD8DBQFE/0NLFdaIBMps37IRApD/AKCczWj2UJ64iVlXWSLaN1BNA52nnQCgkvJY
XIxfELRi5H7taKVtMJFK2tU=4n+j
-----END PGP SIGNATURE-----