tanlin2013 / mbl

Many-body localization
https://tanlin2013.github.io/mbl/
MIT License
1 stars 0 forks source link

chore(deps): update dependency cryptography to v41 [security] #15

Open renovate[bot] opened 1 year ago

renovate[bot] commented 1 year ago

This PR contains the following updates:

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

GitHub Vulnerability Alerts

GHSA-39hc-v87j-747x

pyca/cryptography's wheels include a statically linked copy of OpenSSL. The versions of OpenSSL included in cryptography 37.0.0-38.0.3 are vulnerable to a number of security issues. More details about the vulnerabilities themselves can be found in https://www.openssl.org/news/secadv/20221101.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-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.


Release Notes

pyca/cryptography (cryptography) ### [`v41.0.6`](https://togithub.com/pyca/cryptography/compare/41.0.5...41.0.6) [Compare Source](https://togithub.com/pyca/cryptography/compare/41.0.5...41.0.6) ### [`v41.0.5`](https://togithub.com/pyca/cryptography/compare/41.0.4...41.0.5) [Compare Source](https://togithub.com/pyca/cryptography/compare/41.0.4...41.0.5) ### [`v41.0.4`](https://togithub.com/pyca/cryptography/compare/41.0.3...41.0.4) [Compare Source](https://togithub.com/pyca/cryptography/compare/41.0.3...41.0.4) ### [`v41.0.3`](https://togithub.com/pyca/cryptography/compare/41.0.2...41.0.3) [Compare Source](https://togithub.com/pyca/cryptography/compare/41.0.2...41.0.3) ### [`v41.0.2`](https://togithub.com/pyca/cryptography/compare/41.0.1...41.0.2) [Compare Source](https://togithub.com/pyca/cryptography/compare/41.0.1...41.0.2) ### [`v41.0.1`](https://togithub.com/pyca/cryptography/compare/41.0.0...41.0.1) [Compare Source](https://togithub.com/pyca/cryptography/compare/41.0.0...41.0.1) ### [`v41.0.0`](https://togithub.com/pyca/cryptography/compare/40.0.2...41.0.0) [Compare Source](https://togithub.com/pyca/cryptography/compare/40.0.2...41.0.0) ### [`v40.0.2`](https://togithub.com/pyca/cryptography/compare/40.0.1...40.0.2) [Compare Source](https://togithub.com/pyca/cryptography/compare/40.0.1...40.0.2) ### [`v40.0.1`](https://togithub.com/pyca/cryptography/compare/40.0.0...40.0.1) [Compare Source](https://togithub.com/pyca/cryptography/compare/40.0.0...40.0.1) ### [`v40.0.0`](https://togithub.com/pyca/cryptography/compare/39.0.2...40.0.0) [Compare Source](https://togithub.com/pyca/cryptography/compare/39.0.2...40.0.0) ### [`v39.0.2`](https://togithub.com/pyca/cryptography/compare/39.0.1...39.0.2) [Compare Source](https://togithub.com/pyca/cryptography/compare/39.0.1...39.0.2) ### [`v39.0.1`](https://togithub.com/pyca/cryptography/compare/39.0.0...39.0.1) [Compare Source](https://togithub.com/pyca/cryptography/compare/39.0.0...39.0.1) ### [`v39.0.0`](https://togithub.com/pyca/cryptography/compare/38.0.4...39.0.0) [Compare Source](https://togithub.com/pyca/cryptography/compare/38.0.4...39.0.0) ### [`v38.0.4`](https://togithub.com/pyca/cryptography/compare/38.0.3...38.0.4) [Compare Source](https://togithub.com/pyca/cryptography/compare/38.0.3...38.0.4) ### [`v38.0.3`](https://togithub.com/pyca/cryptography/compare/38.0.2...38.0.3) [Compare Source](https://togithub.com/pyca/cryptography/compare/38.0.2...38.0.3) ### [`v38.0.2`](https://togithub.com/pyca/cryptography/compare/38.0.1...38.0.2) [Compare Source](https://togithub.com/pyca/cryptography/compare/38.0.1...38.0.2) ### [`v38.0.1`](https://togithub.com/pyca/cryptography/compare/38.0.0...38.0.1) [Compare Source](https://togithub.com/pyca/cryptography/compare/38.0.0...38.0.1) ### [`v38.0.0`](https://togithub.com/pyca/cryptography/compare/37.0.4...38.0.0) [Compare Source](https://togithub.com/pyca/cryptography/compare/37.0.4...38.0.0) ### [`v37.0.4`](https://togithub.com/pyca/cryptography/compare/37.0.3...37.0.4) [Compare Source](https://togithub.com/pyca/cryptography/compare/37.0.3...37.0.4) ### [`v37.0.3`](https://togithub.com/pyca/cryptography/compare/37.0.2...37.0.3) [Compare Source](https://togithub.com/pyca/cryptography/compare/37.0.2...37.0.3)

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 becomes conflicted, or you tick the rebase/retry checkbox.

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



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