Skip to content

chore(deps): bump cryptography from 48.0.1 to 50.0.0 - #6083

Merged
rtibbles merged 1 commit into
unstablefrom
dependabot/pip/cryptography-50.0.0
Aug 8, 2026
Merged

chore(deps): bump cryptography from 48.0.1 to 50.0.0#6083
rtibbles merged 1 commit into
unstablefrom
dependabot/pip/cryptography-50.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 5, 2026

Copy link
Copy Markdown
Contributor

Bumps cryptography from 48.0.1 to 50.0.0.

Changelog

Sourced from cryptography's changelog.

50.0.0 - 2026-07-31


* **SECURITY ISSUE**:
  :func:`~cryptography.hazmat.primitives.serialization.pkcs7.pkcs7_decrypt_der`
  and its PEM and S/MIME variants no longer expose distinguishable errors or
  timing when unwrapping a ``RecipientInfo``'s ``encryptedKey``, which could
  act as a Bleichenbacher oracle for callers that decrypt untrusted messages.
  A random key is now substituted on failure, as described in :rfc:`3218`.
  Credit to **@X1AOxiang** for reporting the issue. **CVE-2026-69247**
* Deprecated Diffie-Hellman key exchange over finite fields (FFDH).
  Everything FFDH is deprecated, including the types in
  ``cryptography.hazmat.primitives.asymmetric.dh`` and loading FFDH keys or
  parameters with the key loading APIs. Users should migrate to a more
  modern key exchange algorithm.
* Added ``xof()`` class methods to
  :class:`~cryptography.hazmat.primitives.hashes.SHAKE128` and
  :class:`~cryptography.hazmat.primitives.hashes.SHAKE256` for constructing
  algorithm instances configured for use with
  :class:`~cryptography.hazmat.primitives.hashes.XOFHash`.
* The :mod:`X.509 verification <cryptography.x509.verification>` APIs are now
  considered stable and are subject to our API stability policy.
* Added the :doc:`/cobblestone` recipe, an implementation of the
  Cobblestone-128 and Cobblestone-256 instantiations of the `C2SP
  chunked-encryption specification
  <https://c2sp.org/chunked-encryption>`_ for streaming authenticated
  encryption of large messages.
* Parsing a Signed Certificate Timestamp list now rejects encodings that
  carry trailing bytes after the list or after an individual SCT, instead of
  silently ignoring them.
* Added support for using :class:`~cryptography.x509.Name` as a field type in
  the :doc:`/hazmat/asn1/index` module.
* Loading a public key or an EC private key now rejects DER where the
  ``subjectPublicKey`` (or EC ``publicKey``) ``BIT STRING`` declares a non-zero
  number of unused bits, instead of silently ignoring it.
* Parsing a CRL entry's ``InvalidityDate`` extension now rejects a
  ``GeneralizedTime`` that carries fractional seconds or another non-DER form,
  matching the strict encoding already required for every other X.509 time
  field.
* :func:`~cryptography.x509.ocsp.load_der_ocsp_request` and
  :func:`~cryptography.x509.ocsp.load_der_ocsp_response` now reject a request
  or response whose ``version`` field is not ``v1``, the only version defined
  by RFC 6960, matching the version validation already performed when loading
  certificates, CSRs and CRLs.
* :class:`~cryptography.hazmat.primitives.hashes.XOFHash` is now supported
  when building against AWS-LC.
* HMAC (and therefore PBKDF2-HMAC) with SHA-3 hashes is now supported when
  building against AWS-LC.
* Diffie-Hellman (:doc:`/hazmat/primitives/asymmetric/dh`) is now supported
  when building against AWS-LC.
</tr></table> 

... (truncated)

Commits

Dependabot compatibility score

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 show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @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)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Bumps [cryptography](https://github.com/pyca/cryptography) from 48.0.1 to 50.0.0.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](pyca/cryptography@48.0.1...50.0.0)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-version: 50.0.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Aug 5, 2026
@rtibblesbot

rtibblesbot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

🔵 Review posted

Last updated: 2026-08-05 06:33 UTC

@rtibblesbot rtibblesbot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR #6083cryptography 48.0.1 → 50.0.0, a production, transitive pin (requirements.txt:51, # via google-auth; not in requirements.in). Major ×2 — both 49.0.0 and 50.0.0 are backwards-incompatible. CI passing.

Security fix: CVE-2026-69247 (50.0.0) — pkcs7_decrypt_der and its PEM/S-MIME variants no longer leak distinguishable errors or timing when unwrapping a RecipientInfo's encryptedKey (Bleichenbacher oracle for callers decrypting untrusted messages). Studio doesn't call PKCS#7 decryption, but it makes this worth merging rather than deferring.

Breaking changes (49.0.0):

  • x86_64 macOS wheels removed (arm64 only); 32-bit Windows support removed.
  • Deprecated PUBLIC_KEY_TYPES / PRIVATE_KEY_TYPES / CERTIFICATE_*_KEY_TYPES aliases removed.
  • ChaCha20 treats the first 4 nonce bytes as an RFC 7539 block counter; raises ValueError on overflow.
  • X.509 certs with encoded NULL parameters in an ECDSA/DSA signature AlgorithmIdentifier now raise ValueError instead of warning.

Breaking changes (50.0.0) — all stricter parsing, no API removals: SCT lists reject trailing bytes; public/EC-private DER rejects non-zero unused BIT STRING bits; CRL InvalidityDate rejects non-DER GeneralizedTime; OCSP request/response reject version != v1; DH public keys under a 512-bit modulus rejected. Finite-field Diffie-Hellman (hazmat.primitives.asymmetric.dh) is deprecated wholesale.

Peer deps: unchanged — both versions declare cffi>=2.0.0, typing-extensions>=4.13.2; python_full_version < "3.11", requires_python !=3.9.0,!=3.9.1,>=3.9. Already satisfied (cffi==2.0.0, typing-extensions==4.15.0), hence the single-line compile; requirements-dev.txt has no competing pin.

Compatibility: no direct cryptography imports anywhere in the repo. The only consumer is google-auth's RSA signer (GCS signed URLs at contentcuration/contentcuration/utils/storage_common.py:92, the KMS client, from_service_account_json) — RSA PKCS1v15/SHA-256 signing plus load_pem_private_key, none of which the 49/50 changes touch. Runtime is Python 3.10 on Linux (python:3.10-slim-bookworm prod, uv:python3.10-trixie-slim dev), with manylinux_2_28_x86_64 wheels published. No code changes required.

suggestion — Intel Mac contributors will build from source. Not a blocker for CI or deploy (both Linux), but 50.0.0 publishes only cryptography-50.0.0-cp311-abi3-macosx_11_0_arm64.whl. An x86_64 macOS contributor now falls back to a source build needing Rust ≥ 1.83 (MSRV raised in 47.0.0) and OpenSSL headers. Apple Silicon, Linux, and 64-bit Windows are unaffected.


@rtibblesbot's comments are generated by an LLM, and should be evaluated accordingly

How was this generated?

Ran a dependency-update review pipeline over the version bump:

  • Classified the bump by semver (patch / minor / major) and dependency type (production vs. development)
  • Extracted the changelog and release notes across the version range
  • Assessed compatibility with this project's usage and whether any code changes are required
  • Treated CI as the primary safety net
  • Scaled the review depth to the update's risk
  • Chose the verdict from semver risk, changelog findings, and CI status

@rtibbles rtibbles left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No concerns that I can see here - as it's required only for google, this needs a deploy to check properly.

@rtibbles
rtibbles merged commit 90f705f into unstable Aug 8, 2026
40 checks passed
@dependabot
dependabot Bot deleted the dependabot/pip/cryptography-50.0.0 branch August 8, 2026 05:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants