chore(deps): bump cryptography from 48.0.1 to 50.0.0 - #6083
Conversation
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>
🔵 Review postedLast updated: 2026-08-05 06:33 UTC |
rtibblesbot
left a comment
There was a problem hiding this comment.
PR #6083 — cryptography 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_TYPESaliases removed. ChaCha20treats the first 4 nonce bytes as an RFC 7539 block counter; raisesValueErroron overflow.- X.509 certs with encoded NULL parameters in an ECDSA/DSA signature
AlgorithmIdentifiernow raiseValueErrorinstead 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
left a comment
There was a problem hiding this comment.
No concerns that I can see here - as it's required only for google, this needs a deploy to check properly.
Bumps cryptography from 48.0.1 to 50.0.0.
Changelog
Sourced from cryptography's changelog.
... (truncated)
Commits
dcb7050Prepare for 50.0.0 release (#15372)53fccd9Don't leak how PKCS#7 encryptedKey decryption failed (#15369)d472f97Addfrom __future__ import annotationsto all src/ Python files (#15371)908773dBump downstream dependencies in CI (#15368)2cc07ccBump BoringSSL, OpenSSL, AWS-LC in CI (#15367)c94ede9chore(deps): bump ruff from 0.16.0 to 0.16.1 (#15366)67a8308chore(deps): bump virtualenv from 21.7.0 to 21.7.1 (#15365)95018ffRelease the GIL in one-shot AEAD encrypt/decrypt (#15361)6954733Release the GIL during DH and DSA parameter generation (#15364)6893b94Import _serialization instead of serialization in x509/extensions (#15363)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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill 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 versionwill 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 dependencywill 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.