CVE-2021-25217: A buffer overrun in lease file parsing code can be used to exploit a common vulnerability shared by dhcpd and dhclient

Michael McNally mcnally at isc.org
Wed May 26 21:20:18 UTC 2021


CVE:                 CVE-2021-25217
Document version:    2.0
Posting date:        26 May 2021
Program impacted:    ISC DHCP. Due to shared code, multiple components
                      are affected; please continue reading for details.

Versions affected:   ISC DHCP 4.1-ESV-R1 -> 4.1-ESV-R16, ISC DHCP 4.4.0 -> 4.4.2.
                      Other branches of ISC DHCP (i.e., releases in the
                      4.0.x series or lower and releases in the 4.3.x series)
                      are beyond their End-of-Life (EOL) and no longer supported
                      by ISC. From inspection it is clear that the defect is
                      also present in releases from those series, but they have
                      not been officially tested for the vulnerability.

Severity:            High
Exploitable:         Remotely

Description:

    Program code used by the ISC DHCP package to read and parse
    stored leases has a defect that can be exploited by an attacker
    to cause one of several undesirable outcomes, depending on the
    component attacked and the way in which it was compiled.

    Because of a discrepancy between the code which handles encapsulated
    option information in leases transmitted "on the wire" and the
    code which reads and parses lease information after it has been
    written to disk storage, it is potentially possible for an
    attacker to deliberately cause a situation where:

    -  dhcpd, while running in DHCPv4 or DHCPv6 mode, or
    -  dhclient, the ISC DHCP client implementation

    will attempt to read a stored lease that contains option information
    which will trigger a bug in the option parsing code.

Impact:

    The outcome of encountering the defect while reading a lease
    that will trigger it varies, according to:

    -  the component being affected (i.e., dhclient or dhcpd)
    -  whether the package was built as a 32-bit or 64-bit binary
    -  whether the compiler flag -fstack-protection-strong was used when compiling

    In dhclient:

       ISC has not successfully reproduced the error on a 64-bit
       system. However, on a 32-bit system it is possible to cause
       dhclient to crash when reading an improper lease, which could
       cause network connectivity problems for an affected system
       due to the absence of a running DHCP client process.

    In dhcpd, when run in DHCPv4 or DHCPv6 mode:

       If the dhcpd server binary was built for a 32-bit architecture
       AND the -fstack-protection-strong flag was specified to the
       compiler, dhcpd may exit while parsing a lease file containing
       an objectionable lease, resulting in lack of service to
       clients. Additionally, the offending lease and the lease
       immediately following it in the lease database may be improperly
       deleted.

       If the dhcpd server binary was built for a 64-bit architecture
       OR if the -fstack-protection-strong compiler flag was NOT
       specified, the crash will not occur, but it is possible for
       the offending lease and the lease which immediately followed
       it to be improperly deleted.

CVSS Scores:

    Against dhclient (the ISC DHCP client):  7.4
    Against dhcpd (the ISC DHCP server):     6.5

CVSS Vectors:

    dhclient: CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H/E:P/RL:O/RC:C
    dhcpd:    CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H/E:P/RL:O/RC:C

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=AV:A/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H/E:P/RL:O/RC:C&version=3.1.

Workarounds:

    None known.

Active exploits:

    We are not aware of any active exploits.

Solution:

    Upgrade to the patched release most closely related to your
    current version of ISC DHCP:

    -  ISC DHCP 4.1-ESV-R16-P1
    -  ISC DHCP 4.4.2-P1



Acknowledgements:

    ISC would like to thank Jon Franklin from Dell and Pawel
    Wieczorkiewicz from Amazon Web Services for (independently)
    reporting this vulnerability.

Document revision history:

    1.0 Early Notification, 05 May 2021
    1.1 Advance Security Notification, 19 May 2021
    2.0 Public Disclosure, 26 May 2021

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-25217
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 dhcp-announce mailing list