Red Hat Bugzilla – Bug 842895
CVE-2012-3868 bind: high TCP query load can trigger memory leak
Last modified: 2016-03-04 07:20:02 EST
Upstream has released BIND 9.9.1-P2 to correct the following flaw:
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) mechanism.
Only 9.9.0 through to 9.9.1-P1 are affected by this flaw.
Not vulnerable. This issue did not affect the versions of bind or bind97 as shipped with Red Hat Enterprise Linux 4, 5, and 6.
Created bind tracking bugs for this issue
Affects: fedora-17 [bug 842899]