open
open copied to clipboard
[Security] Bump cryptography from 2.7 to 3.2
Bumps cryptography from 2.7 to 3.2. This update includes a security fix.
Vulnerabilities fixed
Sourced from The GitHub Security Advisory Database.
RSA decryption vulnerable to Bleichenbacher timing vulnerability
Impact
RSA decryption was vulnerable to Bleichenbacher timing vulnerabilities, which would impact people using RSA decryption in online scenarios.
Patches
This is fixed in cryptography 3.2. https://github.com/pyca/cryptography/commit/58494b41d6ecb0f56b7c5f05d5f5e3ca0320d494 is the resolving commit.
Affected versions: < 3.2
Changelog
Sourced from cryptography's changelog.
3.2 - 2020-10-25
- SECURITY ISSUE: Attempted to make RSA PKCS#1v1.5 decryption more constant time, to protect against Bleichenbacher vulnerabilities. Due to limitations imposed by our API, we cannot completely mitigate this vulnerability and a future release will contain a new API which is designed to be resilient to these for contexts where it is required. Credit to Hubert Kario for reporting the issue. CVE-2020-25659
- Support for OpenSSL 1.0.2 has been removed. Users on older version of OpenSSL will need to upgrade.
- Added basic support for PKCS7 signing (including SMIME) via ~cryptography.hazmat.primitives.serialization.pkcs7.PKCS7SignatureBuilder.
3.1.1 - 2020-09-22
- Updated Windows, macOS, and
manylinux
wheels to be compiled with OpenSSL 1.1.1h.3.1 - 2020-08-26
- BACKWARDS INCOMPATIBLE: Removed support for
idna
based U-label parsing in various X.509 classes. This support was originally deprecated in version 2.1 and moved to an extra in 2.5.- Deprecated OpenSSL 1.0.2 support. OpenSSL 1.0.2 is no longer supported by the OpenSSL project. The next version of
cryptography
will drop support for it.- Deprecated support for Python 3.5. This version sees very little use and will be removed in the next release.
backend
arguments to functions are no longer required and the default backend will automatically be selected if nobackend
is provided.- Added initial support for parsing certificates from PKCS7 files with ~cryptography.hazmat.primitives.serialization.pkcs7.load_pem_pkcs7_certificates and ~cryptography.hazmat.primitives.serialization.pkcs7.load_der_pkcs7_certificates .
- Calling
update
orupdate_into
on ~cryptography.hazmat.primitives.ciphers.CipherContext withdata
longer than 2^31^ bytes no longer raises anOverflowError
. This also resolves the same issue in /fernet.3.0 - 2020-07-20
BACKWARDS INCOMPATIBLE: Removed support for passing an ~cryptography.x509.Extension instance to ~cryptography.x509.AuthorityKeyIdentifier.from_issuer_subject_key_identifier, as per our deprecation policy.
BACKWARDS INCOMPATIBLE: Support for LibreSSL 2.7.x, 2.8.x, and 2.9.0 has been removed (2.9.1+ is still supported).
BACKWARDS INCOMPATIBLE: Dropped support for macOS 10.9, macOS users must upgrade to 10.10 or newer.
BACKWARDS INCOMPATIBLE: RSA ~cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key no longer accepts
public_exponent
values except 65537 and 3 (the latter for legacy purposes).BACKWARDS INCOMPATIBLE: X.509 certificate parsing now enforces that the
version
field contains a valid value, rather than deferring this check until ~cryptography.x509.Certificate.version is accessed.Deprecated support for Python 2. At the time there is no time table for actually dropping support, however we strongly encourage all users to upgrade their Python, as Python 2 no longer receives support from the Python core team.
If you have trouble suppressing this warning in tests view the FAQ entry addressing this issue <faq-howto-handle-deprecation-warning>.
Added support for
OpenSSH
serialization format forec
,ed25519
,rsa
anddsa
private keys: ~cryptography.hazmat.primitives.serialization.load_ssh_private_key for loading and ~cryptography.hazmat.primitives.serialization.PrivateFormat.OpenSSH for writing.Added support for
OpenSSH
certificates to ~cryptography.hazmat.primitives.serialization.load_ssh_public_key.Added ~cryptography.fernet.Fernet.encrypt_at_time and ~cryptography.fernet.Fernet.decrypt_at_time to ~cryptography.fernet.Fernet.
Added support for the ~cryptography.x509.SubjectInformationAccess X.509 extension.
Added support for parsing ~cryptography.x509.SignedCertificateTimestamps in OCSP responses.
Added support for parsing attributes in certificate signing requests via ~cryptography.x509.CertificateSigningRequest.get_attribute_for_oid.
Added support for encoding attributes in certificate signing requests via ~cryptography.x509.CertificateSigningRequestBuilder.add_attribute.
On OpenSSL 1.1.1d and higher
cryptography
now uses OpenSSL's built-in CSPRNG instead of its own OS random engine because these versions of OpenSSL properly reseed on fork.Added initial support for creating PKCS12 files with ~cryptography.hazmat.primitives.serialization.pkcs12.serialize_key_and_certificates.
2.9.2 - 2020-04-22
- Updated the macOS wheel to fix an issue where it would not run on macOS versions older than 10.15.
Commits
c9e6522
3.2 release (#5508)58494b4
Attempt to mitigate Bleichenbacher attacks on RSA decryption (#5507)cf9bd6a
move blinding to init on both RSA public and private (#5506)bf4b962
be more verbose in the 102 deprecation notice (#5505)ada53e7
make the regexes for branches more strict (#5504)8be1d4b
Stop using @master for GH actions (#5503)08a97cc
Bump actions/upload-artifact from v1 to v2.2.0 (#5502)52a0e44
Add a dependabot configuration to bump our github actions (#5501)611c4a3
PKCS7SignatureBuilder now supports new option NoCerts when signing (#5500)836a92a
chunking didn't actually work (#5499)- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase
.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
-
@dependabot rebase
will rebase this PR -
@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it -
@dependabot merge
will merge this PR after your CI passes on it -
@dependabot squash and merge
will squash and merge this PR after your CI passes on it -
@dependabot cancel merge
will cancel a previously requested merge and block automerging -
@dependabot reopen
will reopen this PR if it is closed -
@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually -
@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) -
@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) -
@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language -
@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language -
@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language -
@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and language -
@dependabot badge me
will comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot dashboard:
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)