title: named's configured cache size limit can be significantly exceeded
description: Every `named` instance configured to run as a recursive resolver maintains a cache database holding the responses to the queries it has recently sent to authoritative servers. The size limit for that cache database can be configured using the `max-cache-size` statement in the configuration file; it defaults to 90% of the total amount of memory available on the host. When the size of the cache reaches 7/8 of the configured limit, a cache-cleaning algorithm starts to remove expired and/or least-recently used RRsets from the cache, to keep memory use below the configured limit.
It has been discovered that the effectiveness of the cache-cleaning algorithm used in `named` can be severely diminished by querying the resolver for specific RRsets in a certain order, effectively allowing the configured `max-cache-size` limit to be significantly exceeded.
This issue affects BIND 9 versions 9.11.0 through 9.16.41, 9.18.0 through 9.18.15, 9.19.0 through 9.19.13, 9.11.3-S1 through 9.16.41-S1, and 9.18.11-S1 through 9.18.15-S1.
affected:
{
vendor: ISC
product: BIND 9
versions:
version: 9.11.0, lessThanOrEqual: 9.16.41, status: affected, versionType: custom
version: 9.18.0, lessThanOrEqual: 9.18.15, status: affected, versionType: custom
version: 9.19.0, lessThanOrEqual: 9.19.13, status: affected, versionType: custom
version: 9.11.3-S1, lessThanOrEqual: 9.16.41-S1, status: affected, versionType: custom
version: 9.18.11-S1, lessThanOrEqual: 9.18.15-S1, status: affected, versionType: custom
defaultStatus: unaffected
}
metrics:
cvssV3_1: [
version: 3.1
attackVector: NETWORK
attackComplexity: LOW
privilegesRequired: NONE
userInteraction: NONE
scope: UNCHANGED
confidentialityImpact: NONE
integrityImpact: NONE
availabilityImpact: HIGH
vectorString: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
baseScore: 7.5
baseSeverity: HIGH
]
exploits: We are not aware of any active exploits.
solutions: Upgrade to the patched release most closely related to your current version of BIND 9: 9.16.42, 9.18.16, 9.19.14, 9.16.42-S1, or 9.18.16-S1.
workarounds: No workarounds known.