Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Feb 6, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
cryptography (changelog) ==36.0.2 -> ==42.0.2 age adoption passing confidence

GitHub Vulnerability Alerts

CVE-2023-23931

Previously, Cipher.update_into would accept Python objects which implement the buffer protocol, but provide only immutable buffers:

>>> outbuf = b"\x00" * 32
>>> c = ciphers.Cipher(AES(b"\x00" * 32), modes.ECB()).encryptor()
>>> c.update_into(b"\x00" * 16, outbuf)
16
>>> outbuf
b'\xdc\x95\xc0x\xa2@​\x89\x89\xadH\xa2\x14\x92\x84 \x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

This would allow immutable objects (such as bytes) to be mutated, thus violating fundamental rules of Python. This is a soundness bug -- it allows programmers to misuse an API, it cannot be exploited by attacker controlled data alone.

This now correctly raises an exception.

This issue has been present since update_into was originally introduced in cryptography 1.8.

CVE-2023-0286

pyca/cryptography's wheels include a statically linked copy of OpenSSL. The versions of OpenSSL included in cryptography 0.8.1-39.0.0 are vulnerable to a security issue. More details about the vulnerabilities themselves can be found in https://www.openssl.org/news/secadv/20221213.txt and https://www.openssl.org/news/secadv/20230207.txt.

If you are building cryptography source ("sdist") then you are responsible for upgrading your copy of OpenSSL. Only users installing from wheels built by the cryptography project (i.e., those distributed on PyPI) need to update their cryptography versions.

GHSA-5cpq-8wj7-hf2v

pyca/cryptography's wheels include a statically linked copy of OpenSSL. The versions of OpenSSL included in cryptography 0.5-40.0.2 are vulnerable to a security issue. More details about the vulnerability itself can be found in https://www.openssl.org/news/secadv/20230530.txt.

If you are building cryptography source ("sdist") then you are responsible for upgrading your copy of OpenSSL. Only users installing from wheels built by the cryptography project (i.e., those distributed on PyPI) need to update their cryptography versions.

GHSA-jm77-qphf-c4w8

pyca/cryptography's wheels include a statically linked copy of OpenSSL. The versions of OpenSSL included in cryptography 0.8-41.0.2 are vulnerable to several security issues. More details about the vulnerabilities themselves can be found in https://www.openssl.org/news/secadv/20230731.txt, https://www.openssl.org/news/secadv/20230719.txt, and https://www.openssl.org/news/secadv/20230714.txt.

If you are building cryptography source ("sdist") then you are responsible for upgrading your copy of OpenSSL. Only users installing from wheels built by the cryptography project (i.e., those distributed on PyPI) need to update their cryptography versions.

GHSA-v8gr-m533-ghj9

pyca/cryptography's wheels include a statically linked copy of OpenSSL. The versions of OpenSSL included in cryptography 2.5-41.0.3 are vulnerable to several security issues. More details about the vulnerabilities themselves can be found in https://www.openssl.org/news/secadv/20230908.txt.

If you are building cryptography source ("sdist") then you are responsible for upgrading your copy of OpenSSL. Only users installing from wheels built by the cryptography project (i.e., those distributed on PyPI) need to update their cryptography versions.

CVE-2023-49083

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.

CVE-2023-50782

A flaw was found in the python-cryptography package. This issue may allow a remote attacker to decrypt captured messages in TLS servers that use RSA key exchanges, which may lead to exposure of confidential or sensitive data.

CVE-2024-0727

Issue summary: Processing a maliciously formatted PKCS12 file may lead OpenSSL
to crash leading to a potential Denial of Service attack

Impact summary: Applications loading files in the PKCS12 format from untrusted
sources might terminate abruptly.

A file in PKCS12 format can contain certificates and keys and may come from an
untrusted source. The PKCS12 specification allows certain fields to be NULL, but
OpenSSL does not correctly check for this case. This can lead to a NULL pointer
dereference that results in OpenSSL crashing. If an application processes PKCS12
files from an untrusted source using the OpenSSL APIs then that application will
be vulnerable to this issue.

OpenSSL APIs that are vulnerable to this are: PKCS12_parse(),
PKCS12_unpack_p7data(), PKCS12_unpack_p7encdata(), PKCS12_unpack_authsafes()
and PKCS12_newpass().

We have also fixed a similar issue in SMIME_write_PKCS7(). However since this
function is related to writing data we do not consider it security significant.

The FIPS modules in 3.2, 3.1 and 3.0 are not affected by this issue.


Release Notes

pyca/cryptography (cryptography)

v42.0.2

Compare Source

v42.0.1

Compare Source

v42.0.0

Compare Source

v41.0.7

Compare Source

v41.0.6

Compare Source

v41.0.5

Compare Source

v41.0.4

Compare Source

v41.0.3

Compare Source

v41.0.2

Compare Source

v41.0.1

Compare Source

v41.0.0

Compare Source

v40.0.2

Compare Source

v40.0.1

Compare Source

v40.0.0

Compare Source

v39.0.2

Compare Source

v39.0.1

Compare Source

v39.0.0

Compare Source

v38.0.4

Compare Source

v38.0.3

Compare Source

v38.0.2

Compare Source

v38.0.1

Compare Source

v38.0.0

Compare Source

v37.0.4

Compare Source

v37.0.3

Compare Source

v37.0.2

Compare Source

v37.0.1

Compare Source

v37.0.0

Compare Source


Configuration

📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@webteam-app
Copy link

Demo starting at https://canonical-com-1170.demos.haus

@renovate renovate bot changed the title Update dependency cryptography to v42 [SECURITY] chore(deps): update dependency cryptography to v42 [security] Feb 9, 2024
@renovate renovate bot force-pushed the renovate/pypi-cryptography-vulnerability branch from 0417ade to 32dd7ca Compare February 16, 2024 22:31
@renovate renovate bot changed the title chore(deps): update dependency cryptography to v42 [security] Update dependency cryptography to v42 [SECURITY] Feb 23, 2024
@renovate renovate bot force-pushed the renovate/pypi-cryptography-vulnerability branch from 32dd7ca to b200961 Compare April 14, 2024 10:27
@renovate renovate bot changed the title Update dependency cryptography to v42 [SECURITY] chore(deps): update dependency cryptography to v42 [security] May 22, 2024
@renovate renovate bot changed the title chore(deps): update dependency cryptography to v42 [security] Update dependency cryptography to v42 [SECURITY] Jun 6, 2024
@renovate renovate bot changed the title Update dependency cryptography to v42 [SECURITY] chore(deps): update dependency cryptography to v42 [security] Jun 21, 2024
@renovate renovate bot changed the title chore(deps): update dependency cryptography to v42 [security] Update dependency cryptography to v42 [SECURITY] Jul 18, 2024
@renovate renovate bot changed the title Update dependency cryptography to v42 [SECURITY] chore(deps): update dependency cryptography to v42 [security] Aug 16, 2024
@renovate renovate bot changed the title chore(deps): update dependency cryptography to v42 [security] Update dependency cryptography to v42 [SECURITY] Sep 6, 2024
@renovate renovate bot changed the title Update dependency cryptography to v42 [SECURITY] chore(deps): update dependency cryptography to v42 [security] Sep 17, 2024
@renovate renovate bot changed the title chore(deps): update dependency cryptography to v42 [security] Update dependency cryptography to v42 [SECURITY] Oct 15, 2024
@renovate renovate bot changed the title Update dependency cryptography to v42 [SECURITY] chore(deps): update dependency cryptography to v42 [security] Nov 12, 2024
@renovate renovate bot changed the title chore(deps): update dependency cryptography to v42 [security] Update dependency cryptography to v42 [SECURITY] Nov 29, 2024
@renovate renovate bot changed the title Update dependency cryptography to v42 [SECURITY] chore(deps): update dependency cryptography to v42 [security] Dec 6, 2024
@renovate renovate bot changed the title chore(deps): update dependency cryptography to v42 [security] Update dependency cryptography to v42 [SECURITY] Jan 27, 2025
@renovate renovate bot changed the title Update dependency cryptography to v42 [SECURITY] chore(deps): update dependency cryptography to v42 [security] Jan 28, 2025
@renovate renovate bot changed the title chore(deps): update dependency cryptography to v42 [security] Update dependency cryptography to v42 [SECURITY] Jan 31, 2025
@renovate renovate bot changed the title Update dependency cryptography to v42 [SECURITY] chore(deps): update dependency cryptography to v42 [security] Feb 3, 2025
@renovate renovate bot force-pushed the renovate/pypi-cryptography-vulnerability branch from b200961 to 08089fe Compare March 3, 2025 12:12
@renovate renovate bot changed the title chore(deps): update dependency cryptography to v42 [security] chore(deps): update dependency cryptography to v42 [security] - autoclosed Mar 20, 2025
@renovate renovate bot closed this Mar 20, 2025
@renovate renovate bot deleted the renovate/pypi-cryptography-vulnerability branch March 20, 2025 20:29
@renovate renovate bot changed the title chore(deps): update dependency cryptography to v42 [security] - autoclosed chore(deps): update dependency cryptography to v42 [security] Mar 21, 2025
@renovate renovate bot reopened this Mar 21, 2025
@renovate renovate bot force-pushed the renovate/pypi-cryptography-vulnerability branch from 08089fe to 91a8d9d Compare March 21, 2025 04:35
@renovate renovate bot changed the title chore(deps): update dependency cryptography to v42 [security] chore(deps): update dependency cryptography to v42 [security] - autoclosed Mar 28, 2025
@renovate renovate bot closed this Mar 28, 2025
@renovate renovate bot changed the title chore(deps): update dependency cryptography to v42 [security] - autoclosed chore(deps): update dependency cryptography to v42 [security] Mar 28, 2025
@renovate renovate bot force-pushed the renovate/pypi-cryptography-vulnerability branch 5 times, most recently from e93d19a to 63225bc Compare October 13, 2025 05:01
@renovate renovate bot force-pushed the renovate/pypi-cryptography-vulnerability branch 5 times, most recently from 8bf37ee to 57230f4 Compare October 15, 2025 08:26
@codecov
Copy link

codecov bot commented Oct 15, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 61.30%. Comparing base (cda122b) to head (83e65a4).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1170   +/-   ##
=======================================
  Coverage   61.30%   61.30%           
=======================================
  Files          17       17           
  Lines        1615     1615           
=======================================
  Hits          990      990           
  Misses        625      625           
Flag Coverage Δ
python 61.30% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@renovate renovate bot force-pushed the renovate/pypi-cryptography-vulnerability branch 11 times, most recently from 6b08c1c to b656214 Compare October 21, 2025 07:41
@renovate renovate bot force-pushed the renovate/pypi-cryptography-vulnerability branch 6 times, most recently from c840602 to bad0814 Compare October 24, 2025 11:29
@renovate renovate bot force-pushed the renovate/pypi-cryptography-vulnerability branch from bad0814 to 1cbb6f4 Compare October 24, 2025 11:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant