FreeBSD: Bind Negative-cache DOS vulnerability
Posted by LinuxSecurity.com Team   
FreeBSD An attacker may arrange for malicious DNS messages to be deliveredto a target name server, and cause that name server to cache anegative response for some target domain name. The name server wouldthereafter respond negatively to legitimate queries for that domainname, resulting in a denial-of-service for applications that requireDNS.

      -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

=============================================================================
FreeBSD-SA-03:19.bind                                       Security Advisory
                                                          The FreeBSD Project

Topic:          bind8 negative cache poison attack

Category:       contrib
Module:         contrib_bind
Announced:      2003-11-28
Credits:        Internet Software Consortium
Affects:        FreeBSD versions through 4.9-RELEASE and 5.1-RELEASE
                4-STABLE prior to the correction date
Corrected:      2003-11-28 22:13:47 UTC (RELENG_4, 4.9-STABLE)
                2003-11-27 00:54:53 UTC (RELENG_5_1, 5.1-RELEASE-p11)
                2003-11-27 16:54:01 UTC (RELENG_5_0, 5.0-RELEASE-p19)
                2003-11-27 00:56:06 UTC (RELENG_4_9, 4.9-RELEASE-p1)
                2003-11-27 16:34:22 UTC (RELENG_4_8, 4.8-RELEASE-p14)
                2003-11-27 16:35:06 UTC (RELENG_4_7, 4.7-RELEASE-p24)
                2003-11-27 16:37:00 UTC (RELENG_4_6, 4.6.2-RELEASE-p27)
                2003-11-27 16:38:36 UTC (RELENG_4_5, 4.5-RELEASE-p37)
                2003-11-27 16:40:03 UTC (RELENG_4_4, 4.4-RELEASE-p47)
CVE Name:       CAN-2003-0914
FreeBSD only:   NO

For general information regarding FreeBSD Security Advisories,
including descriptions of the fields above, security branches, and the
following sections, please visit
http://www.freebsd.org/security/>.

I.   Background

BIND 8 is an implementation of the Domain Name System (DNS) protocols.
The named(8) daemon is the Internet domain name server.

II.  Problem Description

A programming error in BIND 8 named can result in a DNS message being
incorrectly cached as a negative response.

III. Impact

An attacker may arrange for malicious DNS messages to be delivered
to a target name server, and cause that name server to cache a
negative response for some target domain name.  The name server would
thereafter respond negatively to legitimate queries for that domain
name, resulting in a denial-of-service for applications that require
DNS.  Almost all Internet applications require DNS, such as the Web,
email, and chat networks.

IV.  Workaround

No workaround is known.

V.   Solution

Do one of the following:

1) Upgrade your vulnerable system to 4.9-STABLE; or to the RELENG_5_1,
RELENG_4_9, RELENG_4_8, or RELENG_4_7 security branch dated after the
correction date.

2) To patch your present system:

a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.

[FreeBSD 4.9 and -STABLE systems]
# fetch  ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:19/bind-836.patch
# fetch  ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:19/bind-836.patch.asc

[FreeBSD 4.8 and 5.1 systems]
# fetch  ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:19/bind-834.patch
# fetch  ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:19/bind-834.patch.asc

[FreeBSD 4.4, 4.5, 4.6, 4.7, and 5.0 systems]
# fetch  ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:19/bind-833.patch
# fetch  ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-03:19/bind-833.patch.asc

b) Execute the following commands as root:

# cd /usr/src
# patch < /path/to/patch
# cd /usr/src/lib/libbind
# make obj && make depend && make
# cd /usr/src/lib/libisc
# make obj && make depend && make
# cd /usr/src/usr.sbin/named
# make obj && make depend && make && make install
# cd /usr/src/libexec/named-xfer
# make obj && make depend && make && make install

After upgrading or patching your system, you must restart named.
Execute the following command as root:

# ndc restart

VI.  Correction details

The following list contains the revision numbers of each file that was
corrected in FreeBSD.

Branch                                                           Revision
  Path
- -------------------------------------------------------------------------
RELENG_4
  src/contrib/bind/CHANGES                                   1.1.1.7.2.11
  src/contrib/bind/README                                     1.1.1.7.2.9
  src/contrib/bind/Version                                   1.1.1.3.2.10
  src/contrib/bind/bin/named-xfer/named-xfer.c                    1.3.2.8
  src/contrib/bind/bin/named/Makefile                             1.3.2.6
  src/contrib/bind/bin/named/ns_init.c                        1.1.1.2.2.6
  src/contrib/bind/bin/named/ns_resp.c                       1.1.1.2.2.11
  src/contrib/bind/bin/nslookup/commands.l                        1.4.2.5
  src/contrib/bind/bin/nslookup/debug.c                           1.3.2.6
  src/contrib/bind/bin/nslookup/getinfo.c                         1.3.2.9
  src/contrib/bind/bin/nslookup/main.c                            1.3.2.7
  src/contrib/bind/doc/man/dig.1                                  1.3.2.4
  src/contrib/bind/doc/man/host.1                                 1.3.2.5
  src/contrib/bind/doc/man/nslookup.8                             1.2.2.5
  src/contrib/bind/port/freebsd/include/port_after.h              1.6.2.9
  src/contrib/bind/port/freebsd/include/port_before.h         1.1.1.2.2.6
RELENG_5_1
  src/UPDATING                                                 1.251.2.13
  src/sys/conf/newvers.sh                                       1.50.2.13
  src/contrib/bind/Version                                   1.1.1.11.2.1
  src/contrib/bind/bin/named/ns_resp.c                       1.1.1.11.2.1
RELENG_5_0
  src/UPDATING                                                 1.229.2.25
  src/sys/conf/newvers.sh                                       1.48.2.20
  src/contrib/bind/Version                                   1.1.1.10.2.1
  src/contrib/bind/bin/named/ns_resp.c                       1.1.1.10.2.1
RELENG_4_9
  src/UPDATING                                              1.73.2.89.2.2
  src/sys/conf/newvers.sh                                   1.44.2.32.2.2
  src/contrib/bind/Version                                1.1.1.3.2.9.2.1
  src/contrib/bind/bin/named/ns_resp.c                   1.1.1.2.2.10.2.1
RELENG_4_8
  src/UPDATING                                             1.73.2.80.2.16
  src/sys/conf/newvers.sh                                  1.44.2.29.2.15
  src/contrib/bind/Version                                1.1.1.3.2.8.2.1
  src/contrib/bind/bin/named/ns_resp.c                    1.1.1.2.2.9.2.1
RELENG_4_7
  src/UPDATING                                             1.73.2.74.2.27
  src/sys/conf/newvers.sh                                  1.44.2.26.2.26
  src/contrib/bind/Version                                1.1.1.3.2.7.2.1
  src/contrib/bind/bin/named/ns_resp.c                    1.1.1.2.2.7.2.2
RELENG_4_6
  src/UPDATING                                             1.73.2.68.2.56
  src/sys/conf/newvers.sh                                  1.44.2.23.2.44
  src/contrib/bind/Version                                1.1.1.3.2.6.2.2
  src/contrib/bind/bin/named/ns_resp.c                    1.1.1.2.2.6.2.3
RELENG_4_5
  src/UPDATING                                             1.73.2.50.2.54
  src/sys/conf/newvers.sh                                  1.44.2.20.2.38
  src/contrib/bind/Version                                1.1.1.3.2.4.4.2
  src/contrib/bind/bin/named/ns_resp.c                    1.1.1.2.2.4.4.3
RELENG_4_4
  src/UPDATING                                             1.73.2.43.2.55
  src/sys/conf/newvers.sh                                  1.44.2.17.2.46
  src/contrib/bind/Version                                1.1.1.3.2.4.2.2
  src/contrib/bind/bin/named/ns_resp.c                    1.1.1.2.2.4.2.3
- -------------------------------------------------------------------------

VII. References

http://www.kb.cert.org/vuls/id/734644>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (FreeBSD)

iD8DBQE/x8/PFdaIBMps37IRAsl8AJ9zgqn4QmO08d9zj9de8/uGKIQBNgCfeHKC
tM9nSOzoCrM+O+TpNn6ewt4=
=PJi2
-----END PGP SIGNATURE-----