CVE-2023-49083 cryptography vulnerable to NULL-dereference when loading PKCS7 certificates
Attackers can cause a denial of service by triggering a null pointer dereference when loading malformed PKCS7 certificates.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2023-49083?
CVE-2023-49083 is a medium-severity vulnerability in pyca cryptography, published on 29 Nov 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. Calling `load_pem_pkcs7_certificates` or `load_der_pkcs7_certificates` could lead to a NULL-pointer dereference and segfault. 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. This vulnerability has been patched in version 41.0.6.
Weakness: CWE-476
Which versions are affected by CVE-2023-49083?
3 open source packages ship an affected version, including cryptography. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
cryptography PyPI | From 3.1 | 41.0.6 |
cryptography PyPI | From 3.1 | 41.0.6 |
cryptography PyPI | From 3.1 | 41.0.6 |
Linux distribution packages (37)
python3-cryptography AlmaLinux:8 | All versions | 3.2.1-8.el8_10 |
python3.11-cryptography AlmaLinux:8 | All versions | 37.0.2-6.el8 |
python3-cryptography AlmaLinux:9 | All versions | 36.0.1-5.el9_6 |
python3.11-cryptography AlmaLinux:9 | All versions | 37.0.2-6.el9 |
python3.11-cryptography Red Hat:enterprise_linux:8::appstream | All versions | 0:37.0.2-6.el8 |
python3.11-cryptography-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:37.0.2-6.el8 |
python3.11-cryptography-debugsource Red Hat:enterprise_linux:8::appstream | All versions | 0:37.0.2-6.el8 |
python-cryptography Red Hat:enterprise_linux:8::baseos | All versions | 0:3.2.1-8.el8_10 |
python-cryptography-debugsource Red Hat:enterprise_linux:8::baseos | All versions | 0:3.2.1-8.el8_10 |
python3-cryptography Red Hat:enterprise_linux:8::baseos | All versions | 0:3.2.1-8.el8_10 |
python3-cryptography-debuginfo Red Hat:enterprise_linux:8::baseos | All versions | 0:3.2.1-8.el8_10 |
python3.11-cryptography Red Hat:enterprise_linux:9::appstream | All versions | 0:37.0.2-6.el9 |
python3.11-cryptography-debuginfo Red Hat:enterprise_linux:9::appstream | All versions | 0:37.0.2-6.el9 |
python3.11-cryptography-debugsource Red Hat:enterprise_linux:9::appstream | All versions | 0:37.0.2-6.el9 |
python-cryptography Red Hat:enterprise_linux:9::baseos | All versions | 0:36.0.1-5.el9_6 |
python-cryptography-debugsource Red Hat:enterprise_linux:9::baseos | All versions | 0:36.0.1-5.el9_6 |
python3-cryptography Red Hat:enterprise_linux:9::baseos | All versions | 0:36.0.1-5.el9_6 |
python3-cryptography-debuginfo Red Hat:enterprise_linux:9::baseos | All versions | 0:36.0.1-5.el9_6 |
python-cryptography Red Hat:rhel_aus:8.4::baseos | All versions | 0:3.2.1-4.el8_4.1 |
python-cryptography-debugsource Red Hat:rhel_aus:8.4::baseos | All versions | 0:3.2.1-4.el8_4.1 |
python3-cryptography Red Hat:rhel_aus:8.4::baseos | All versions | 0:3.2.1-4.el8_4.1 |
python3-cryptography-debuginfo Red Hat:rhel_aus:8.4::baseos | All versions | 0:3.2.1-4.el8_4.1 |
python-cryptography Red Hat:rhel_aus:8.6::baseos | All versions | 0:3.2.1-5.1.el8_6.1 |
python-cryptography-debugsource Red Hat:rhel_aus:8.6::baseos | All versions | 0:3.2.1-5.1.el8_6.1 |
python3-cryptography Red Hat:rhel_aus:8.6::baseos | All versions | 0:3.2.1-5.1.el8_6.1 |
python3-cryptography-debuginfo Red Hat:rhel_aus:8.6::baseos | All versions | 0:3.2.1-5.1.el8_6.1 |
python-cryptography Red Hat:rhel_e4s:8.6::baseos | All versions | 0:3.2.1-5.1.el8_6.1 |
python-cryptography-debugsource Red Hat:rhel_e4s:8.6::baseos | All versions | 0:3.2.1-5.1.el8_6.1 |
python3-cryptography Red Hat:rhel_e4s:8.6::baseos | All versions | 0:3.2.1-5.1.el8_6.1 |
python3-cryptography-debuginfo Red Hat:rhel_e4s:8.6::baseos | All versions | 0:3.2.1-5.1.el8_6.1 |
python-cryptography Red Hat:rhel_e4s:8.8::baseos | All versions | 0:3.2.1-6.el8_8 |
python-cryptography-debugsource Red Hat:rhel_e4s:8.8::baseos | All versions | 0:3.2.1-6.el8_8 |
python3-cryptography Red Hat:rhel_e4s:8.8::baseos | All versions | 0:3.2.1-6.el8_8 |
python3-cryptography-debuginfo Red Hat:rhel_e4s:8.8::baseos | All versions | 0:3.2.1-6.el8_8 |
python-cryptography Red Hat:rhel_e4s:9.0::appstream | All versions | 0:36.0.1-1.el9_0.1 |
python-cryptography-debugsource Red Hat:rhel_e4s:9.0::appstream | All versions | 0:36.0.1-1.el9_0.1 |
python3-cryptography Red Hat:rhel_e4s:9.0::appstream | All versions | 0:36.0.1-1.el9_0.1 |
Products include Cryptography.io Cryptography.
How do I fix CVE-2023-49083?
Upgrade cryptography to 41.0.6 or later.
Is CVE-2023-49083 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2023-49083 exists.
Other vulnerabilities in pyca cryptography
- CVE-2020-36242 PyCA Cryptography symmetrically encrypting large values can lead to integer overflow
- CVE-2026-26007 cryptography Subgroup Attack Due to Missing Subgroup Validation for SECT Curves
- CVE-2024-26130 cryptography NULL pointer dereference with pkcs12.serialize_key_and_certificates when called with a non-matching certificate and private key and an hmac_hash override
- CVE-2023-38325 cryptography mishandles SSH certificates
- CVE-2026-39892 cryptography has a buffer overflow if non-contiguous buffers were passed to APIs
Sources
Also known as ALSA-2024:2337, ALSA-2024:3105, ALSA-2025:14553, ALSA-2025:15874, AZL-32051, AZL-35128 and 31 more.