A flaw in a library used by BIND 9.7, 9.8, and 9.9, when compiled on Unix and related operating systems, allows an attacker to deliberately cause excessive memory consumption by the named process, potentially resulting in exhaustion of memory resources on the affected server. This condition can crash BIND 9 and will likely severely affect operation of other programs running on the same machine.
Please Note: Versions of BIND 9.7 are beyond their “end of life” (EOL) and no longer receive testing or security fixes from ISC. However, the re-compilation method described in the “Workarounds” section of this document will prevent exploitation in BIND 9.7 as well as in currently supported versions.
For current information on which versions are actively supported, please see http://www.isc.org/software/bind/versions.
Additional information is available in the CVE-2013-2266 FAQ and Supplemental Information article in the ISC Knowledge base, https://kb.isc.org/article/AA-00879.
Intentional exploitation of this condition can cause denial of service in all authoritative and recursive nameservers running affected versions of BIND 9 [all versions ofBIND 9.7, BIND 9.8.0 through 9.8.5b1 (inclusive) and BIND 9.9.0 through BIND 9.9.3b1 (inclusive)]. Additionally, other services which run on the same physical machine as an affected BIND server could be compromised as well through exhaustion of system memory.
Programs using the libdns library from affected versions of BIND are also potentially vulnerable to exploitation of this bug if they can be forced to accept input which triggers the condition. Tools which are linked against libdns (e.g. dig) should also be rebuilt or upgraded, even if named is not being used.
Patched versions are available (see the “Solutions:” section below) or operators can prevent exploitation of this bug in any affected version of BIND 9 by compiling without regular expression support.
Compilation without regular expression support:
BIND 9.7 (all versions), BIND 9.8 (9.8.0 through 9.8.5b1), and BIND 9.9 (9.9.0 through 9.9.3b1) can be rendered completely safe from this bug by re-compiling the source with regular expression support disabled. In order to disable inclusion of regular expression support:
- After configuring BIND features as desired using the configure script in the top level source directory, manually edit the “config.h” header file that was produced by the configure script.
- Locate the line that reads “#define HAVE_REGEX_H 1” and replace the contents of that line with “#undef HAVE_REGEX_H“.
- Run “make clean” to remove any previously compiled object files from the BIND 9 source directory, then proceed to make and install BIND normally.
No known active exploits.
Compile BIND 9 without regular expression support as described in the “Workarounds” section of this advisory or upgrade to the patched release most closely related to your current version of BIND. These can be downloaded from http://www.isc.org/downloads/all.
- BIND 9 version 9.8.4-P2
- BIND 9 version 9.9.2-P2
Shared Via Internet Systems Consortium (ISC)