Skip to content

chore(deps): bump cryptography from 46.0.7 to 50.0.0 in /envs/chat_env - #1058

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/envs/chat_env/cryptography-50.0.0
Closed

chore(deps): bump cryptography from 46.0.7 to 50.0.0 in /envs/chat_env#1058
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/envs/chat_env/cryptography-50.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 4, 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.

Note

Medium Risk
Major-version cryptography upgrade affects transitive crypto used by Authlib; low code churn but possible behavioral changes in TLS/JWT/PKCS#7 paths—worth running chat_env tests.

Overview
This PR bumps the pinned cryptography version in envs/chat_env from 46.0.7 to 50.0.0, typically via updates to uv.lock (no app source changes). The library is pulled in transitively (e.g. through Authlib), not as a direct project dependency.

50.0.0 is a major release that includes a security fix for PKCS#7 decryption (CVE-2026-69247, Bleichenbacher-style oracle on encryptedKey unwrap) and stricter X.509/OCSP parsing, plus deprecations such as finite-field Diffie-Hellman. Reviewers should treat this as a crypto stack upgrade: confirm chat_env tests/CI still pass and that nothing relied on deprecated FFDH or looser ASN.1 behavior.

Reviewed by Cursor Bugbot for commit cf355bd. Bugbot is set up for automated code reviews on this repo. Configure here.

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: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added Dependencies python:uv Pull requests that update python:uv code labels Aug 4, 2026
@bot-ci-comment

bot-ci-comment Bot commented Aug 4, 2026

Copy link
Copy Markdown

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

@burtenshaw burtenshaw added environment size: small Small pull request labels Aug 5, 2026 — with Cursor

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Alignment Review Report

Two-tier review of this Dependabot bump. Only envs/chat_env/uv.lock changes (no pyproject.toml), which is correct: cryptography is transitive (openenv → fastmcp → authlib → cryptography), so a lock-only bump is right.

Automated Checks

  • Lint: PASS (N/A to diff)uv.lock/TOML aren't linted; CI lint is green.
  • Debug code: CLEANcheck-debug.sh scans src/ only; no src/ files touched.
  • Lockfile consistency: PASSuv lock --checkResolved 125 packages, exit 0; CI validate-env-locks (uv 0.9.3, uv sync --frozen --dry-run) green.
  • Integrity: VERIFIED vs PyPIcryptography 50.0.0 sdist + wheel sha256/size match the lock exactly; not yanked; requires-python !=3.9.0,!=3.9.1,>=3.9 ⊇ chat_env >=3.10. No non-cryptography artifact URL/hash changed.

Security assessment (positive)

This is effectively a security update. cryptography 46.0.7 carries 7 advisories — notably CVE-2026-69247 (GHSA-g6cj-pr64-35w5), fixed only in 50.0.0 (also CVE-2026-69248 / CVE-2026-69249 → 49.0.0, GHSA-537c-gmf6-5ccf → 48.0.1). The 46→50 major jump is the minimum version clearing all of them; 50.0.0 reports 0 known vulnerabilities. Reasonable to merge on those grounds.

Open RFCs Context

In Review: 000, 001, 002, 003, 005; plus 004 (rubrics) and 010 (Draft). None govern Python packaging / dependency management / PyPI index selection (RFC "registry" references are Docker/tool registries, not package indexes). → No RFC bearing on this change.

Tier 1: Fixes Required

None — mechanically sound and CI is fully green.

Tier 2: Alignment Discussion

Principle conflicts: None identified. No API / reward / client-server / MCP surface is touched, and PRINCIPLES.md / INVARIANTS.md don't cover dependency management.

RFC conflicts: None identified.

ALIGNMENT FLAG — silent index-source migration (non-blocking)

  • Principle at stake: reproducibility / declared provenance (PRINCIPLES.md, "Container isolation for reproducibility").
  • The concern: beyond the cryptography bump, this re-lock flips 132 source entries from the HF mirror (pypi.registries.huggingface.tech) to public PyPI (pypi.org/simple) and bumps lock revision 2 → 3. Artifact URLs stay on files.pythonhosted.org with unchanged hashes (verified), so it's almost certainly benign, but it silently changes provenance env-wide and is broader than the PR title implies. It does align chat_env with the reference echo_env + 21 other revision = 3 envs (16 revision = 2 envs remain on the mirror). Registry choice is a team decision → flagging, not fixing.
  • Suggested reviewers: @Darktex, @burtenshaw

Process note — native env PR vs root-only Dependabot config (cc @burtenshaw)
.github/dependabot.yml scopes the uv updater to directory: "/" with exclude-paths: ["envs/**"] (commit 5f499da9, "stop dependabot in envs"), yet this native dependabot/uv/envs/chat_env/… PR edits envs/**. Two known upstream limitations explain it: the uv ecosystem currently ignores exclude-paths (dependabot-core#15102), and exclude-paths doesn't suppress security-update PRs at all (dependabot-core#14408) — and this bump is CVE-driven. ~10 sibling env PRs are open right now (#1057 / #1056 / #1055 / #1049 cryptography→50; #1054 / #1052 / #1050 / #1048 / #1040 aiohttp→3.14.3). If stopping env dependency PRs is still the intent, exclude-paths alone is insufficient for the uv ecosystem + security updates; if env updates are welcome, these look safe to take together.

Heads-up — lock revision 3 vs deploy base image (non-blocking). CI is fine (uv 0.9.3). The runtime path (envs/chat_env/server/Dockerfileuv sync --frozen) uses openenv-base's uv 0.5.27, which predates revision = 3. It doesn't fire here (docker-build.yml isn't triggered by uv.lock, and rev-3 envs already deploy), but worth confirming the base image's uv if you cut a manual chat_env image.

Summary

  • 0 mechanical (Tier 1) issues — CI green, hashes verified, security-positive.
  • 1 alignment point — the 132-package index-source flip + revision bump (provenance; @Darktex / @burtenshaw).
  • 0 RFC conflicts.
  • Process: native Dependabot env PR despite exclude-paths (upstream limitation; part of a ~10-PR batch) — cc @burtenshaw.
Open in Web View Automation 

Sent by Cursor Automation: Pre-review

Comment thread envs/chat_env/uv.lock
@@ -587,68 +587,65 @@ toml = [

[[package]]
name = "cryptography"
version = "46.0.7"
source = { registry = "https://pypi.registries.huggingface.tech/" }
version = "50.0.0"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Security bump — verified. cryptography 46.0.7 → 50.0.0. 46.0.7 has 7 advisories; CVE-2026-69247 (GHSA-g6cj-pr64-35w5) is fixed only in 50.0.0 (CVE-2026-69248 / CVE-2026-69249 → 49.0.0, GHSA-537c-gmf6-5ccf → 48.0.1), so this major jump is the minimum version clearing all of them. sdist + wheel sha256/size match PyPI exactly; not yanked; requires-python >=3.9 (excluding 3.9.0/3.9.1) is satisfied by chat_env's >=3.10. Transitive via openenv → fastmcp → authlib, so the lock-only change (no pyproject.toml edit) is correct.

Comment thread envs/chat_env/uv.lock
@@ -17,7 +17,7 @@ resolution-markers = [
[[package]]
name = "aiofile"
version = "3.9.0"
source = { registry = "https://pypi.registries.huggingface.tech/" }
source = { registry = "https://pypi.org/simple" }

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Index-source flip (provenance, non-blocking). This re-lock rewrites 132 source entries from the HF mirror (pypi.registries.huggingface.tech) to public PyPI (pypi.org/simple) — a Dependabot side effect beyond the cryptography bump. Artifact URLs stay on files.pythonhosted.org with unchanged hashes (verified: no non-cryptography artifact line changed), so it's benign, but it changes declared provenance env-wide and aligns chat_env with echo_env + 21 other revision = 3 envs. Registry choice is a team call. cc @Darktex @burtenshaw

Comment thread envs/chat_env/uv.lock
@@ -1,5 +1,5 @@
version = 1
revision = 2
revision = 3

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Lock revision 2 → 3 heads-up (non-blocking). Fine for CI (uv 0.9.3) and uv lock --check passes. The deploy server/Dockerfile runs uv sync --frozen against openenv-base's uv 0.5.27, which predates rev 3 — doesn't fire on a lock-only PR (docker-build isn't triggered by uv.lock) and rev-3 envs already deploy, but confirm the base image's uv if manually rebuilding chat_env.

@burtenshaw

Copy link
Copy Markdown
Collaborator

Closing in favor of aggregate env Dependabot PR #1015.

@burtenshaw burtenshaw closed this Aug 6, 2026
@dependabot @github

dependabot Bot commented on behalf of github Aug 6, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/uv/envs/chat_env/cryptography-50.0.0 branch August 6, 2026 09:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Dependencies environment python:uv Pull requests that update python:uv code size: small Small pull request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant