Skip to content

chore(deps): bump cryptography from 46.0.7 to 50.0.0 in /backend - #248

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/backend/cryptography-50.0.0
Open

chore(deps): bump cryptography from 46.0.7 to 50.0.0 in /backend#248
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/backend/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 46.0.7 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 46.0.7 to 50.0.0.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](pyca/cryptography@46.0.7...50.0.0)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-version: 50.0.0
  dependency-type: direct:production
...

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

vercel Bot commented Aug 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
manobela Ready Ready Preview Aug 5, 2026 1:56am

@llamapreview llamapreview Bot 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.

LlamaPReview — No blocking issues found

Approve: bumping cryptography to 50.0.0 is safe for this repo because no first-party code uses it, only transitive deps aiortc and pyopenssl do.

1 non-blocking finding retained — highest: No first-party cryptography usage makes major-version bump safe.

Change flow

The install-path fork determines whether this pin swap has any runtime effect — the core install decision this PR touches.

sequenceDiagram
    participant Dev as Developer
    participant Repo as Repo (pyproject.toml, uv.lock)
    participant Export as uv export
    participant CI as CI/Prod install
    Dev->>Repo: Declare deps & lock
    Repo->>Export: uv export generates requirements.txt
    note over Export: PR change — cryptography pinned 50.0.0
    alt Install from requirements.txt
        Export->>CI: Install cryptography==50.0.0
    else Install via uv sync
        Repo->>CI: Use uv.lock resolution<br/>may still be old pin
    end
Loading
Review details and evidence
Priority File Finding Evidence
P2 backend/requirements.txt No first-party cryptography usage makes major-version bump safe. confirmed

Material unknowns

  • Whether backend/uv.lock resolves cryptography at 50.0.0 and whether production installs from requirements.txt or via uv sync. If uv.lock pins below 50.0.0 and installs use uv sync, this PR has no effect; a future uv export regeneration would overwrite the pin. If production installs from requirements.txt, the bump applies directly.
    • Check: Check the cryptography entry in backend/uv.lock and the install command used in CI/production; if the lockfile is below 50.0.0, update pyproject.toml/uv.lock and regenerate the export.
  • cryptography 50.0.0's minimum Python version relative to the project's >=3.11 floor. If 50.0.0 raised its Python floor above 3.11, installs would fail; Deep assessed this as minimal risk because the floor is well above historical values.
    • Check: Run a one-time install evaluation (pip install -r backend/requirements.txt or uv export) to confirm compatibility.

LlamaPReview checks

  • Inspected matching PR-head repository snippets in backend/requirements.txt.
  • Read bounded PR-head context from backend/requirements.txt.
  • Read bounded PR-head context from backend/pyproject.toml.

Automated review by LlamaPReview · Free for public open-source projects.

Comment thread backend/requirements.txt
--hash=sha256:fcd8eac50d9138c1d7fc53a653ba60a2bee81a505f9f8850b6b2888555a45d0e \
--hash=sha256:fdd1736fed309b4300346f88f74cd120c27c56852c3838cab416e7a166f67298 \
--hash=sha256:ffca7aa1d00cf7d6469b988c581598f2259e46215e0140af408966a24cf086ce
cryptography==50.0.0 \

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.

P2 | Confidence: Medium

The change is a single pin swap in a generated requirements file. Deep found no first-party code using cryptography, cryptography.hazmat, or pkcs7 — the only references are the transitive via-lines aiortc and pyopenssl. Therefore the announced breaking changes (PKCS#7 fix, FFDH deprecation, stricter parsing) have no observed reachable path. CI is green on deploy checks; CodeQL is neutral with no findings. The residual risks are unobserved transitive compatibility and install-path durability.

Owner action: Optional: run a backend smoke test of the WebRTC/DTLS path to confirm aiortc works with the new pin.

Evidence: matching repository snippets in backend/requirements.txt; bounded PR-head context from backend/requirements.txt; bounded PR-head context from backend/pyproject.toml.

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:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant