p PatchFirst

CVE-2022-4450

CVE-2022-4450 · Double free after calling PEM_read_bio_ex

This page contains facts from public vulnerability sources. Check the original advisory before updating.

The function PEM_read_bio_ex() reads a PEM file from a BIO and parses and decodes the "name" (e.g. "CERTIFICATE"), any header data and the payload data. If the function succeeds then the "name_out", "header" and "data" arguments are populated with pointers to buffers containing the relevant decoded data. The caller is responsible for freeing those buffers. It is possible to construct a PEM file that results in 0 bytes of payload data. In this case PEM_read_bio_ex() will return a failure code but will populate the header argument with a pointer to a buffer that has already been freed. If the caller also frees this buffer then a double free will occur. This will most likely lead to a crash. This could be exploited by an attacker who has the ability to supply malicious PEM files for parsing to achieve a denial of service attack. The functions PEM_read_bio() and PEM_read() are simple wrappers around PEM_read_bio_ex() and therefore these functions are also directly affected. These functions are also called indirectly by a number of other OpenSSL functions including PEM_X509_INFO_read_bio_ex() and SSL_CTX_use_serverinfo_file() which are also vulnerable. Some OpenSSL internal uses of these functions are not vulnerable because the caller does not free the header argument if PEM_read_bio_ex() returns a failure code. These locations include the PEM_read_bio_TYPE() functions as well as the decoders introduced in OpenSSL 3.0. The OpenSSL asn1parse command line application is also impacted by this issue.

CVSS 7.5 · High · EPSS 28.6% · Fix available

Published
Updated

Stack: system · network

Affected products and versions

  • openssl

    Versions
    • ≥ 3.0.0, < 3.0.8: Affected (semver)
    • ≥ 1.1.1, < 1.1.1t: Affected (custom)

    Update to 1.1.1t; Update to 3.0.8

  • openssl Debian:12

    Affected ranges
    • ECOSYSTEM: < 3.0.8-1

    Update to 3.0.8-1

  • openssl Debian:13

    Affected ranges
    • ECOSYSTEM: < 3.0.8-1

    Update to 3.0.8-1

  • openssl Debian:14

    Affected ranges
    • ECOSYSTEM: < 3.0.8-1

    Update to 3.0.8-1

  • edk2 Ubuntu:Pro:16.04:LTS

    Versions
    • 0~20150106.5c2d456b-2
    • 0~20160104.c2a892d7-1
    • 0~20160408.ffea0a2c-2
    • 0~20160408.ffea0a2c-2ubuntu0.1
    • 0~20160408.ffea0a2c-2ubuntu0.2
    • 0~20160408.ffea0a2c-2ubuntu0.2+esm1
    • 0~20160408.ffea0a2c-2ubuntu0.2+esm3
    • 0~20160408.ffea0a2c-2ubuntu0.2+esm4
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • openssl Ubuntu:18.04:LTS

    Versions
    • 1.0.2g-1ubuntu13
    • 1.0.2g-1ubuntu14
    • 1.0.2n-1ubuntu1
    • 1.1.0g-2ubuntu1
    • 1.1.0g-2ubuntu2
    • 1.1.0g-2ubuntu3
    • 1.1.0g-2ubuntu4
    • 1.1.0g-2ubuntu4.1
    • 1.1.0g-2ubuntu4.3
    • 1.1.1-1ubuntu2.1~18.04.1
    • 1.1.1-1ubuntu2.1~18.04.2
    • 1.1.1-1ubuntu2.1~18.04.3
    • 1.1.1-1ubuntu2.1~18.04.4
    • 1.1.1-1ubuntu2.1~18.04.5
    • 1.1.1-1ubuntu2.1~18.04.6
    • 1.1.1-1ubuntu2.1~18.04.7
    • 1.1.1-1ubuntu2.1~18.04.8
    • 1.1.1-1ubuntu2.1~18.04.9
    • 1.1.1-1ubuntu2.1~18.04.10
    • 1.1.1-1ubuntu2.1~18.04.13
    • 1.1.1-1ubuntu2.1~18.04.14
    • 1.1.1-1ubuntu2.1~18.04.15
    • 1.1.1-1ubuntu2.1~18.04.17
    • 1.1.1-1ubuntu2.1~18.04.19
    • 1.1.1-1ubuntu2.1~18.04.20
    Affected ranges
    • ECOSYSTEM: < 1.1.1-1ubuntu2.1~18.04.21

    Update to 1.1.1-1ubuntu2.1~18.04.21

  • edk2 Ubuntu:Pro:18.04:LTS

    Versions
    • 0~20170911.5dfba97c-1
    • 0~20171010.234dbcef-1
    • 0~20171027.76fd5a66-1
    • 0~20171205.a9212288-1
    • 0~20180105.0bc94c74-1
    • 0~20180205.c0d9813c-1
    • 0~20180205.c0d9813c-2
    • 0~20180205.c0d9813c-2ubuntu0.1
    • 0~20180205.c0d9813c-2ubuntu0.2
    • 0~20180205.c0d9813c-2ubuntu0.3
    • 0~20180205.c0d9813c-2ubuntu0.3+esm1
    • 0~20180205.c0d9813c-2ubuntu0.3+esm2
    • 0~20180205.c0d9813c-2ubuntu0.3+esm3
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • openssl Ubuntu:Pro:FIPS-updates:18.04:LTS

    Versions
    • 1.1.1-1ubuntu2.fips.2.1~18.04.5.1
    • 1.1.1-1ubuntu2.fips.2.1~18.04.6.1
    • 1.1.1-1ubuntu2.fips.2.1~18.04.7.1
    • 1.1.1-1ubuntu2.fips.2.1~18.04.9.1
    • 1.1.1-1ubuntu2.fips.2.1~18.04.9.2
    • 1.1.1-1ubuntu2.fips.2.1~18.04.9.3
    • 1.1.1-1ubuntu2.fips.2.1~18.04.13.2
    • 1.1.1-1ubuntu2.fips.2.1~18.04.15
    • 1.1.1-1ubuntu2.fips.2.1~18.04.15.1
    • 1.1.1-1ubuntu2.fips.2.1~18.04.15.2
    • 1.1.1-1ubuntu2.fips.2.1~18.04.17
    • 1.1.1-1ubuntu2.fips.2.1~18.04.20
    Affected ranges
    • ECOSYSTEM: < 1.1.1-1ubuntu2.fips.2.1~18.04.21

    Update to 1.1.1-1ubuntu2.fips.2.1~18.04.21

  • openssl Ubuntu:Pro:FIPS:18.04:LTS

    Versions
    • 1.1.1-1ubuntu2.fips.2.1~18.04.3.1
    • 1.1.1-1ubuntu2.fips.2.1~18.04.15.2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • openssl Ubuntu:20.04:LTS

    Versions
    • 1.1.1c-1ubuntu4
    • 1.1.1d-2ubuntu3
    • 1.1.1d-2ubuntu6
    • 1.1.1f-1ubuntu1
    • 1.1.1f-1ubuntu2
    • 1.1.1f-1ubuntu2.1
    • 1.1.1f-1ubuntu2.2
    • 1.1.1f-1ubuntu2.3
    • 1.1.1f-1ubuntu2.4
    • 1.1.1f-1ubuntu2.5
    • 1.1.1f-1ubuntu2.8
    • 1.1.1f-1ubuntu2.9
    • 1.1.1f-1ubuntu2.10
    • 1.1.1f-1ubuntu2.11
    • 1.1.1f-1ubuntu2.12
    • 1.1.1f-1ubuntu2.13
    • 1.1.1f-1ubuntu2.15
    • 1.1.1f-1ubuntu2.16
    Affected ranges
    • ECOSYSTEM: < 1.1.1f-1ubuntu2.17

    Update to 1.1.1f-1ubuntu2.17

  • edk2 Ubuntu:Pro:20.04:LTS

    Versions
    • 0~20190606.20d2e5a1-2ubuntu1
    • 0~20190828.37eef910-3
    • 0~20190828.37eef910-4
    • 0~20191122.bd85bf54-1
    • 0~20191122.bd85bf54-1ubuntu1
    • 0~20191122.bd85bf54-2
    • 0~20191122.bd85bf54-2ubuntu1
    • 0~20191122.bd85bf54-2ubuntu2
    • 0~20191122.bd85bf54-2ubuntu3
    • 0~20191122.bd85bf54-2ubuntu3.1
    • 0~20191122.bd85bf54-2ubuntu3.2
    • 0~20191122.bd85bf54-2ubuntu3.3
    • 0~20191122.bd85bf54-2ubuntu3.4
    • 0~20191122.bd85bf54-2ubuntu3.5
    • 0~20191122.bd85bf54-2ubuntu3.6
    • 0~20191122.bd85bf54-2ubuntu3.6+esm1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • openssl Ubuntu:Pro:FIPS-updates:20.04:LTS

    Versions
    • 1.1.1f-1ubuntu2.fips.7
    • 1.1.1f-1ubuntu2.fips.7.2
    • 1.1.1f-1ubuntu2.fips.12
    • 1.1.1f-1ubuntu2.fips.13
    • 1.1.1f-1ubuntu2.fips.13.1
    • 1.1.1f-1ubuntu2.fips.16
    Affected ranges
    • ECOSYSTEM: < 1.1.1f-1ubuntu2.fips.17

    Update to 1.1.1f-1ubuntu2.fips.17

  • openssl Ubuntu:Pro:FIPS:20.04:LTS

    Versions
    • 1.1.1f-1ubuntu2.fips.2.8
    • 1.1.1f-1ubuntu2.fips.7.1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • edk2 Ubuntu:22.04:LTS

    Versions
    • 2021.08~rc0-2
    • 2021.08-3
    • 2021.11~rc1-1
    • 2021.11-1
    • 2021.11-2
    • 2022.02~rc1-1
    • 2022.02~rc1-1ubuntu1
    • 2022.02-1
    • 2022.02-2
    • 2022.02-3
    • 2022.02-3ubuntu0.22.04.1
    • 2022.02-3ubuntu0.22.04.2
    • 2022.02-3ubuntu0.22.04.3
    Affected ranges
    • ECOSYSTEM: < 2022.02-3ubuntu0.22.04.4

    Update to 2022.02-3ubuntu0.22.04.4

  • nodejs Ubuntu:22.04:LTS

    Versions
    • 12.22.5~dfsg-5ubuntu1
    • 12.22.7~dfsg-2ubuntu1
    • 12.22.7~dfsg-2ubuntu3
    • 12.22.9~dfsg-1ubuntu2
    • 12.22.9~dfsg-1ubuntu3
    • 12.22.9~dfsg-1ubuntu3.1
    • 12.22.9~dfsg-1ubuntu3.2
    Affected ranges
    • ECOSYSTEM: < 12.22.9~dfsg-1ubuntu3.3

    Update to 12.22.9~dfsg-1ubuntu3.3

  • openssl Ubuntu:22.04:LTS

    Versions
    • 1.1.1l-1ubuntu1
    • 3.0.0-1ubuntu1
    • 3.0.1-0ubuntu1
    • 3.0.2-0ubuntu1
    • 3.0.2-0ubuntu1.1
    • 3.0.2-0ubuntu1.2
    • 3.0.2-0ubuntu1.4
    • 3.0.2-0ubuntu1.5
    • 3.0.2-0ubuntu1.6
    • 3.0.2-0ubuntu1.7
    Affected ranges
    • ECOSYSTEM: < 3.0.2-0ubuntu1.8

    Update to 3.0.2-0ubuntu1.8

Original sources

Check your server →