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
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
- https://www.openssl.org/news/secadv/20230207.txt
- https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=63bcf189be73a9cc1264059bed6f57974be74a83
- https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=bbcf509bd046b34cca19c766bbddc31683d0858b
- https://security.gentoo.org/glsa/202402-08
- https://psirt.global.sonicwall.com/vuln-detail/SNWLID-2023-0003
- https://cert-portal.siemens.com/productcert/html/ssa-203374.html
- https://cert-portal.siemens.com/productcert/html/ssa-794697.html
- https://cert-portal.siemens.com/productcert/html/ssa-561322.html
- https://cert-portal.siemens.com/productcert/html/ssa-699386.html
- https://cert-portal.siemens.com/productcert/html/ssa-398330.html
- https://cert-portal.siemens.com/productcert/html/ssa-943925.html
- https://cert-portal.siemens.com/productcert/html/ssa-556635.html
- https://cert-portal.siemens.com/productcert/html/ssa-879734.html
- https://cert-portal.siemens.com/productcert/html/ssa-625862.html
- https://cert-portal.siemens.com/productcert/html/ssa-337522.html
- https://cert-portal.siemens.com/productcert/html/ssa-769027.html
- https://nvd.nist.gov/vuln/detail/CVE-2022-4450