ISC Security Advisory: High TCP Query Load Can Trigger a Memory Leak in BIND 9
cathya at isc.org
Tue Jul 24 17:41:31 UTC 2012
ISC Security Advisory:
Note: This email advisory is provided for your information. The most up
to date advisory information will always be at:
please use this URL for the most up to date advisory information.
Title: High TCP Query Load Can Trigger a Memory Leak in BIND 9
Under heavy incoming TCP query loads named experiences a memory leak
which may lead to significant reductions in query response performance.
Additionally, this can trigger an automatic shutdown if named is running
on a system that kills out-of-memory processes.
Document Version: 2.0
Posting date: 24 July 2012
Program Impacted: BIND9
Versions affected: 9.9.0 through 9.9.1-P1
BIND 9 tracks incoming queries using a structure called "ns_client".
When a query has been answered and the ns_client structure is no longer
needed, it is stored on a queue of inactive ns_clients. When a new
ns_client is needed to service a new query, the queue is checked to see
if any inactive ns_clients are available before a new one is allocated;
this speeds up the system by avoiding unnecessary memory allocations and
de-allocations. However, when the queue is empty, and one thread inserts
an ns_client into it while another thread attempts to remove it, a race
bug could cause the ns_client to be lost; since the queue would appear
empty in that case, a new ns_client would be allocated from memory. This
condition occurred very infrequently with UDP queries but much more
frequently under high TCP query loads; over time, the number of
allocated but misplaced ns_client objects could grow large enough to
affect system performance, and could trigger an automatic shutdown of
the named process on systems with an "OOM killer" (out of memory killer)
CVSS Score: 5.0
CVSS Equation: (AV:N/AC:L/Au:N/C:N/I:N/A:P)
For more information on the Common Vulnerability Scoring System and to
obtain your specific environmental score please
Workarounds: None available
Solution: Upgrade to BIND 9 version 9.9.1-P2.
BIND 9.9.1-P2 is available from www.isc.org/downloads/all
Exploit Status: Not known
Acknowledgment: ISC would like to thank Kevin Sheehan of Infoblox, Inc.,
and Anand Buddhdev from the RIPE NCC.
Document Revision History:
1.0 -Phase 1 contacted 11 July, 2012
1.1 -Phase 1 re-issued 17 July, 2012. Re-released this patch with
additional code to Phase 1.
1.2 - 23 July 2012 Phase 2 & 3 notified
2.0 - 24 July 2012 Phase 4-Public released
Do you have Questions? Questions regarding this advisory should go to
security-officer at isc.org.
ISC Security Vulnerability Disclosure Policy: Details of our current
security advisory policy and practice can be found
Japanese Translation: https://kb.isc.org/article/AA-00753
Spanish Translation: https://kb.isc.org/article/AA-00751
German Translation: https://kb.isc.org/article/AA-00742
Internet Systems Consortium (ISC) is providing this notice on an "AS IS"
basis. No warranty or guarantee of any kind is expressed in this notice
and none should be inferred. ISC expressly excludes and disclaims any
warranties regarding this notice or materials referred to in this
notice, including, without limitation, any inferred warranty of
merchantability, fitness for a particular purpose, absence of hidden
defects, or of non-infringement. Your use of, or reliance on, this
notice or materials referred to in this notice is at your own risk. ISC
may change this notice at any time.
A stand-alone copy or paraphrase of the text of this document that omits
the distribution URL in the following section is an uncontrolled copy.
Uncontrolled copies may lack important information, be out of date, or
contain factual errors.
More information about the bind-users