FreeBSD Security Advisory FreeBSD-SA-06:20.bind



-----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
<URL:http://security.freebsd.org/>.

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-----
_______________________________________________
freebsd-security@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-security
To unsubscribe, send any mail to "freebsd-security-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • [FreeBSD-Announce] FreeBSD Security Advisory FreeBSD-SA-06:20.bind
    ... For general information regarding FreeBSD Security Advisories, ... For a recursive DNS server, a remote attacker sending enough recursive ... have left the recursion queue will trigger an INSIST failure in the ...
    (freebsd-announce)
  • FreeBSD Security Advisory FreeBSD-SA-06:20.bind
    ... For general information regarding FreeBSD Security Advisories, ... For a recursive DNS server, a remote attacker sending enough recursive ... have left the recursion queue will trigger an INSIST failure in the ...
    (Bugtraq)
  • Re: feedback on a good DNS server
    ... >> I am looking into setting up a DNS server on our network using an ... >> know someone who uses BIND and is happy with it .. ... > I belive Bind is still included with the base FreeBSD OS. ... If you're concerned about security, BIND has had a large number of security ...
    (freebsd-questions)
  • Re: Local DNS Caching not caching on external interface
    ... I have just configured a Local DNS server using the built-in ... Bind 9.3.1 on a FreeBSD 5.4 machine. ... to query the caching name server from my local network. ...
    (freebsd-questions)
  • RE: NATD Internal Network problems
    ... >Subject: RE: NATD Internal Network problems ... >Weird, every other router I've used forwards all the packets properly, ... assuming the DNS server is on the outside. ... It is actually extremely easy to do the same thing on a FreeBSD box ...
    (freebsd-questions)