title: Enabling both DNS64 and serve-stale may cause an assertion failure during recursive resolution
description: A bad interaction between DNS64 and serve-stale may cause `named` to crash with an assertion failure during recursive resolution, when both of these features are enabled.
This issue affects BIND 9 versions 9.16.12 through 9.16.45, 9.18.0 through 9.18.21, 9.19.0 through 9.19.19, 9.16.12-S1 through 9.16.45-S1, and 9.18.11-S1 through 9.18.21-S1.
affected:
{
vendor: ISC
product: BIND 9
versions:
version: 9.16.12, lessThanOrEqual: 9.16.45, status: affected, versionType: custom
version: 9.18.0, lessThanOrEqual: 9.18.21, status: affected, versionType: custom
version: 9.19.0, lessThanOrEqual: 9.19.19, status: affected, versionType: custom
version: 9.16.12-S1, lessThanOrEqual: 9.16.45-S1, status: affected, versionType: custom
version: 9.18.11-S1, lessThanOrEqual: 9.18.21-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.48, 9.18.24, 9.19.21, 9.16.48-S1, or 9.18.24-S1.
workarounds: Disabling serve-stale (with `stale-cache-enable no;` and `stale-answer-enable no;`) and/or disabling `dns64` makes the faulty code path impossible to reach, preventing this flaw from being exploitable.