Vulnerability CVE-2022-4450: Information

Description

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.

Severity: HIGH (7.5) Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Published: Feb. 8, 2023
Modified: Feb. 4, 2024
Error type identifier: CWE-415

Fixed packages

Package name
Branch
Fixed in version
Version from repository
Errata ID
Task #
State
openssl1.1sisyphus1.1.1t-alt11.1.1w-alt1ALT-PU-2023-1195-1314824Fixed
openssl1.1sisyphus_e2k1.1.1t-alt11.1.1w-alt1ALT-PU-2023-2502-1-Fixed
openssl1.1sisyphus_riscv641.1.1t-alt11.1.1w-alt1ALT-PU-2023-2484-1-Fixed
openssl1.1p101.1.1t-alt11.1.1w-alt0.p10.1ALT-PU-2023-1228-1314825Fixed
openssl1.1p10_e2k1.1.1t-alt11.1.1w-alt0.p10.1ALT-PU-2023-2543-1-Fixed
openssl1.1p91.1.1t-alt11.1.1u-alt1ALT-PU-2023-1299-1314826Fixed
openssl1.1p9_e2k1.1.1t-alt11.1.1u-alt1ALT-PU-2023-2672-1-Fixed
openssl1.1c10f11.1.1t-alt11.1.1w-alt0.p10.1ALT-PU-2023-1228-1314825Fixed
openssl1.1c9f21.1.1t-alt11.1.1w-alt0.p9.1ALT-PU-2023-1360-1314827Fixed

References to Advisories, Solutions, and Tools

    1. Configuration 1

      cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
      Start including
      3.0.0
      End excliding
      3.0.8

      cpe:2.3:a:openssl:openssl:*:*:*:*:*:*:*:*
      Start including
      1.1.1
      End excliding
      1.1.1t

      Configuration 2

      cpe:2.3:a:stormshield:stormshield_network_security:*:*:*:*:*:*:*:*
      Start including
      4.4.0
      End excliding
      4.6.3

      cpe:2.3:a:stormshield:stormshield_network_security:*:*:*:*:*:*:*:*
      Start including
      4.0.0
      End excliding
      4.3.16