CVE-2021-25218: A too-strict assertion check could be triggered when responses in BIND 9.16.19 and 9.17.16 require UDP fragmentation if RRL is in use
Michael McNally
mcnally at isc.org
Wed Aug 18 17:45:20 UTC 2021
CVE: CVE-2021-25218
Document version: 2.0
Posting date: 18 August 2021
Program impacted: BIND
Versions affected: BIND 9.16.19, 9.17.16. Also, version 9.16.19-S1
of BIND Supported Preview Edition
Severity: High
Exploitable: Remotely
Description:
If named attempts to respond over UDP with a response that is
larger than the current effective interface maximum transmission
unit (MTU), and if response-rate limiting (RRL) is active, an
assertion failure is triggered (resulting in termination of the
named server process).
There are two ways for named to exceed the interface MTU:
Direct configuration in named.conf setting max-udp-size to a
value larger than the interface's MTU, or Path MTU discovery
(PMTUD) informing the IP stack that it should use a smaller MTU
for the interface and destination than the default max-udp-size
value of 1232. Some operating systems allow packets received via
other protocols to affect PMTUD values for DNS over UDP.
While RRL is not enabled by default for user-defined views or
the built-in default INTERNET (IN) class view, "_default", the
built-in default CHAOS (CH) class view, "_bind", does have RRL
enabled.
Note that while this defect can be triggered through misconfiguration
or by deliberate exploitation, it can also arise during normal
operating conditions, even with hardened PMTUD settings.
Impact:
When a vulnerable version of named receives a query under the
circumstances described above, the named process will terminate
due to a failed assertion check.
The vulnerability ONLY affects BIND 9 releases 9.16.19, 9.17.16,
and release 9.16.19-S1 of the BIND Supported Preview Edition.
CVSS Score: 7.5
CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
For more information on the Common Vulnerability Scoring System and
to obtain your specific environmental score please visit:
https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H&version=3.1
Workarounds:
Disabling RRL in all views, including the built-in CHAOS class view
"_bind", prevents the faulty assertion from being reached. This can
be done by removing all existing rate-limit statements from named.conf,
and defining a replacement for the default CHAOS view:
view override_bind chaos {
recursion no;
notify no;
allow-new-zones no;
max-cache-size 2M;
zone "version.bind" chaos {
type primary;
database "_builtin version";
};
zone "hostname.bind" chaos {
type primary;
database "_builtin hostname";
};
zone "authors.bind" chaos {
type primary;
database "_builtin authors";
};
zone "id.server" chaos {
type primary;
database "_builtin id";
};
};
Active exploits:
We are not aware of any active exploits.
Solution:
Upgrade to the patched release most closely related to your
current version of BIND:
- BIND 9.16.20
- BIND 9.17.17
BIND Supported Preview Edition is a special feature preview
branch of BIND provided to eligible ISC support customers.
- BIND 9.16.20-S1
Document revision history:
1.0 Advance notification to customers, 11 August 2020
2.0 Public disclosure, 18 August 2020
Related documents:
See our BIND 9 Security Vulnerability Matrix for a complete
listing of security vulnerabilities and versions affected.
Do you still have questions? Questions regarding this advisory
should go to security-officer at isc.org. To report a new issue, please
encrypt your message using security-officer at isc.org's PGP key which
can be found here: https://www.isc.org/pgpkey/. If you are unable
to use encrypted email, you may also report new issues at:
https://www.isc.org/reportbug/.
Note:
ISC patches only currently supported versions. When possible we
indicate EOL versions affected. (For current information on
which versions are actively supported, please see
https://www.isc.org/download/.)
ISC Security Vulnerability Disclosure Policy:
Details of our current security advisory policy and practice can
be found in the ISC Software Defect and Security Vulnerability
Disclosure Policy at https://kb.isc.org/docs/aa-00861.
The Knowledgebase article https://kb.isc.org/docs/cve-2021-25218
is the complete and official security advisory document.
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.
More information about the bind-announce
mailing list