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