OpenSSL up to 1.1.1s/3.0.7 PEM File PEM_read_bio_ex Name double free
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 6.4 | $5k-$25k | 0.00 |
Summary
A vulnerability was found in OpenSSL up to 1.1.1s/3.0.7. It has been rated as problematic. Affected by this issue is the function PEM_read_bio_ex of the component PEM File Handler. Performing a manipulation of the argument Name results in double free.
This vulnerability was named CVE-2022-4450. The attack may be initiated remotely. There is no available exploit.
Upgrading the affected component is advised.
Details
A vulnerability was found in OpenSSL up to 1.1.1s/3.0.7 (Network Encryption Software). It has been classified as problematic. This affects the function PEM_read_bio_ex of the component PEM File Handler. The manipulation of the argument name with an unknown input leads to a double free vulnerability. CWE is classifying the issue as CWE-415. The product calls free() twice on the same memory address, potentially leading to modification of unexpected memory locations. This is going to have an impact on confidentiality, integrity, and availability. The summary by CVE is:
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.
The weakness was presented 02/07/2023. The advisory is shared at openssl.org. This vulnerability is uniquely identified as CVE-2022-4450. Technical details are known, but no exploit is available. The price for an exploit might be around USD $5k-$25k at the moment (estimation calculated on 11/05/2025).
The vulnerability scanner Nessus provides a plugin with the ID 211573 (Oracle Linux 9 : openssl / and / openssl-fips-provider (ELSA-2024-9333)), which helps to determine the existence of the flaw in a target environment.
Upgrading to version 1.1.1t or 3.0.8 eliminates this vulnerability.
The vulnerability is also documented in the vulnerability database at Tenable (211573). Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
Product
Type
Name
Version
- 1.1.1
- 1.1.1a
- 1.1.1b
- 1.1.1c
- 1.1.1d
- 1.1.1e
- 1.1.1f
- 1.1.1g
- 1.1.1h
- 1.1.1i
- 1.1.1j
- 1.1.1k
- 1.1.1l
- 1.1.1m
- 1.1.1n
- 1.1.1o
- 1.1.1p
- 1.1.1q
- 1.1.1r
- 1.1.1s
- 3.0.0
- 3.0.1
- 3.0.2
- 3.0.3
- 3.0.4
- 3.0.5
- 3.0.6
- 3.0.7
License
Website
- Product: https://www.openssl.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 6.5VulDB Meta Temp Score: 6.4
VulDB Base Score: 5.6
VulDB Temp Score: 5.4
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 7.5
NVD Vector: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
Exploiting
Class: Double freeCWE: CWE-415 / CWE-119
CAPEC: 🔍
ATT&CK: 🔍
Physical: No
Local: No
Remote: Yes
Availability: 🔍
Status: Not defined
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 211573
Nessus Name: Oracle Linux 9 : openssl / and / openssl-fips-provider (ELSA-2024-9333)
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔍
Upgrade: OpenSSL 1.1.1t/3.0.8
Patch: bbcf509bd046b34cca19c766bbddc31683d0858b
Timeline
12/13/2022 🔍02/07/2023 🔍
02/07/2023 🔍
11/05/2025 🔍
Sources
Product: openssl.orgAdvisory: openssl.org
Status: Confirmed
CVE: CVE-2022-4450 (🔍)
GCVE (CVE): GCVE-0-2022-4450
GCVE (VulDB): GCVE-100-220353
Entry
Created: 02/07/2023 18:57Updated: 11/05/2025 19:00
Changes: 02/07/2023 18:57 (40), 03/06/2023 09:29 (4), 03/06/2023 09:33 (11), 11/19/2024 16:11 (17), 11/05/2025 19:00 (1)
Complete: 🔍
Cache ID: 216::103
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.
No comments yet. Languages: en.
Please log in to comment.