Title: Operational Notification: liburcu memory leak may impact BIND 9.20 on BSD
Document Version: 1.0
Posting date: 29 July 2026
Canonical URL: https://kb.isc.org/docs/liburcu-leak
Program impacted: BIND
Versions affected:
BIND
- 9.20.0 and later
Description:
ISC is aware of an issue in the liburcu library which causes a memory leak on some platforms. BIND 9.20 and later use this library, and experience the leak on affected platforms. Older versions of BIND do not use this library and are not affected.
Linux platforms are not affected. FreeBSD and OpenBSD are affected. A preliminary analysis by ISC suggests that NetBSD and Mac OS X may be immune; however, as of this writing, that is not confirmed with upstream sources.
Impact:
Under load, the BIND named process will gradually use more and more memory. The internal statistics and counters for BIND will report relatively flat memory usage, but the process size as reported by the operating system grows indefinitely.
Eventually, process or system limits may result in termination of the named process, and/or system memory exhaustion.
The problem appears to be significantly worse on recursive resolvers. On purely authoritative servers, the problem appears much less severe.
Solution:
As a workaround, restarting the named process periodically will free all leaked memory.
FreeBSD has patched the liburcu distributed in their ports tree. Updating to version 0.15.3_1, or 0.15.6, or later, will fix the leak. These updates are available as of 28 July 2026, in the source tree, and in the 1.4x and 15.x AMD64 pkg trees.
OpenBSD has patched the liburcu in their CVS ports repository, also as of 28 July 2026.
While the liburcu project has the fix in their Git repository, it is not included in any official liburcu version/release as of this writing.
Advanced users may be able to independently apply patches to liburcu and rebuild the library and BIND from source. However, advice on how to do this is beyond the scope of this notification.
More information:
liburcu provides a read-copy-update (RCU) implementation in userspace. RCU is a technique that allows multiple threads of execution (as with multiple processors and multi-core processors) to efficiently coordinate their activity. The userspace aspect means the implementation does not require RCU support from the operating system kernel. BIND 9.20 uses liburcu extensively for this multi-threading coordination.
Unfortunately a bug in liburcu results in repeatedly allocating a particular resource but never freeing it. On some systems (notably Linux), the resource is completely abstract and allocating it costs nothing but CPU time, so the bug is harmless. On other systems (notably FreeBSD) allocating the resource consumes memory. The amount is small, but over many invocations, it adds up.
References:
- liburcu
- Bug report: https://bugs.lttng.org/issues/1442
- Project home page: https://liburcu.org/
- FreeBSD bug reports
- liburcu leak: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=296786
- Impact on BIND: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293737
- OpenBSD ports update
- ISC BIND bug report
Document revision history:
- 1.0 Initial publication, 29 July 2026
Do you still have questions?
General questions and discussion can be raised on the bind-users mailing list. Developer contributions can be made on the ISC GitLab issue for the problem (see above).
ISC customers with an active support agreement may open a support request ticket.
How to Submit a Bug Report to ISC:
If you have encountered a problem with BIND (or with any other ISC software), details on how to submit a report can be found at https://www.isc.org/reportbug/.
Legal Disclaimer:
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 implied. ISC expressly excludes and disclaims any warranties regarding this notice or materials referred to in this notice, including, without limitation, any implied warranty of merchantability, fitness for a particular purpose, absence of hidden defects, or of non-infringement. Your use 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 document URL is an uncontrolled copy. Uncontrolled copies may lack important information, be out of date, or contain factual errors.


