named configured to answer from stale cache may terminate unexpectedly at recursive-clients soft quota
Summary
This issue can affect BIND 9 resolvers with `stale-answer-enable yes;` that also make use of the option `stale-answer-client-timeout`, configured with a value greater than zero. If the resolver receives many queries that require recursion, there will be a corresponding increase in the number of clients that are waiting for recursion to complete. If there are sufficient clients already waiting when a new client query is received so that it is necessary to SERVFAIL the longest waiting client (see BIND 9 ARM `recursive-clients` limit and soft quota), then it is possible for a race to occur between providing a stale answer to this older client and sending an early timeout SERVFAIL, which may cause an assertion failure. This issue affects BIND 9 versions 9.16.12 through 9.16.36, 9.18.0 through 9.18.10, 9.19.0 through 9.19.8, and 9.16.12-S1 through 9.16.36-S1.
Affected Version(s)
BIND 9 <= 9.16.36
BIND 9 <= 9.18.10
BIND 9 <= 9.19.8
CVSS V3.1
Timeline
- 👾
Exploit exists.
Vulnerability published.
Vulnerability Reserved.