Skip to content

chore(deps): bump cryptography from 46.0.6 to 50.0.0 in /envs/repl_env - #1057

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

chore(deps): bump cryptography from 46.0.6 to 50.0.0 in /envs/repl_env#1057
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/envs/repl_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.6 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 upgrade of a security-critical transitive dependency with no source changes; validate repl_env installs and any TLS/OAuth/keyring paths that use Authlib/SecretStorage.

Overview
Updates envs/repl_env/uv.lock so the resolved cryptography package moves from 46.0.6 to 50.0.0 (major bump). The change is lockfile-only; cryptography is pulled in transitively (e.g. Authlib, SecretStorage), not via direct app code edits.

The resolver also refreshes related lock metadata (wheel hashes and simplified dependency markers on pandas / secretstorage entries) alongside the cryptography pin.

50.0.0 includes a security fix (CVE-2026-69247) for PKCS#7 encryptedKey decryption oracles, plus stricter X.509/OCSP parsing and deprecation of finite-field Diffie-Hellman.

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

Bumps [cryptography](https://github.com/pyca/cryptography) from 46.0.6 to 50.0.0.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](pyca/cryptography@46.0.6...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 4, 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

chore(deps): bump cryptography 46.0.6 → 50.0.0 in /envs/repl_env — native dependabot/uv/envs/repl_env/cryptography-50.0.0, lock-only diff (envs/repl_env/uv.lock, +57/−60). Third cryptography → 50.0.0 env-lock bump after #1049 (carla_env) and #1055 (sumo_rl_env); same born-clean, security-positive profile.

Automated Checks

  • Lint: PASS (for this PR). .claude/hooks/lint.sh exits 1, but only on 26 pre-existing envs/**/*.py files (incl. envs/repl_env/runner.py, envs/repl_env/server/repl_environment.py). This PR changes only envs/repl_env/uv.lock (TOML — not linted, not a .py). CI's lint job covers src/ + tests/ only (never envs/**), so it is unaffected.
  • Debug code: CLEAN (for this PR). check-debug.sh reports only pre-existing src/ items (cli/commands/build.py, import_env.py, fork.py console.print; serve.py/__main__.py TODOs). This PR touches no src/.

Open RFCs Context

Active RFCs: 000/001/002/003/004/005 (In Review), 010 (Draft). None govern dependency management / PyPI / packaging, so a lockfile bump has no RFC surface.

Verification (all PASS)

  • Born-clean lockrevision = 3 at base and head (not in diff); 0 HF-mirror refs on both sides (126 pypi.org/simple each) ⇒ no index-flip, no revision bump, no requires-dist re-sync side effect.
  • uv lock --check --project envs/repl_env → PASS (121 packages) — lock consistent with pyproject.toml.
  • Hash integrity — all 46 locked cryptography-50.0.0 artifacts (1 sdist + 45 wheels) match PyPI exactly (sha256 + size + filename); none yanked; requires-python satisfied by repl_env >=3.10.
  • No unrelated artifact churn — no non-cryptography files.pythonhosted.org line changed.
  • Security-positive — base 46.0.6 has 5 distinct outstanding advisories, all resolved by ≤ 50.0.0 (see inline). The 50.0.0-only fix GHSA-g6cj-pr64-35w5/CVE-2026-69247 justifies the target; 50.0.0 has 0 known advisories.
  • Blast radius: none in env code — no repl_env module imports cryptography/secretstorage/keyring/authlib/jwt; deep transitive dep via authlib, pyjwt[crypto], secretstorage.
  • Deployenvs/repl_env/server/Dockerfile uses uv sync --frozen (with non-frozen fallback) and installs current uv on the fly; lock was already rev 3 at base ⇒ no new toolchain floor.
  • Not staleorigin/main == the PR base; git merge-tree reports no conflict (clean 1-commit-ahead).

Tier 1: Fixes Required

None.

Tier 2: Alignment Discussion

Principle Conflicts

None identified. No Gymnasium-API / rewards-in-env / client-server / MCP / container-isolation / credential-exposure surface is touched. (The reproducibility flag from "Container isolation for reproducibility" would apply on an index-flip, but this lock is born-clean, so it does not.)

RFC Conflicts

None identified.

Process (non-blocking)

ALIGNMENT FLAG: Native dependabot/uv/envs/** PR bypasses the configured exclude-paths

  • Principle/RFC at stake: none — this is repo dependency-management policy in .github/dependabot.yml, not a PRINCIPLES/INVARIANTS/RFC rule.
  • The concern: the uv updater is configured with directory: "/" + exclude-paths: ["envs/**"] (.github/dependabot.yml:8-9), yet this native PR modifies envs/repl_env/uv.lock. exclude-paths is a valid key but the uv ecosystem isn't honoring it; the intended path for env bumps is the codex/dependabot-envs-* aggregate roll-ups. Same benign observation as #1049/#1055/#1013 — purely process; the bump itself is correct and worth landing.
  • Suggested reviewer: @burtenshaw (authored the exclude-paths config, commit 5f499da9)

Transparency notes (not issues)

  • The diff also carries semantically-equivalent marker normalizations on transitive pandas 2.3.3, pandas 3.0.1, and secretstorage 3.5.0 inner deps (e.g. dropping a redundant python_full_version < '3.11' already implied by the entry's resolution-markers, and simplifying secretstorage's cryptography/jeepney markers to unconditional). Resolved versions are unchanged and uv lock --check passes — a re-resolve artifact, not a regression.

Summary

  • 0 mechanical issues to fix
  • 1 alignment point for human review (non-blocking exclude-paths process flag → @burtenshaw)
  • 0 RFC conflicts

Net: a clean, security-positive, born-clean transitive lock bump. No code changes needed from this review; recommend merge once CI is green.

Open in Web View Automation 

Sent by Cursor Automation: Pre-review

Comment thread envs/repl_env/uv.lock
[[package]]
name = "cryptography"
version = "46.0.6"
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.

cryptography 46.0.6 → 50.0.0. All 46 locked 50.0.0 artifacts (this sdist + 45 wheels) verified against PyPI — sha256 + size + filename match exactly (PyPI publishes exactly 46), none yanked. requires-python !=3.9.0,!=3.9.1,>=3.9 is satisfied by repl_env >=3.10; the cffi / typing-extensions inner deps are unchanged.

Security-positive: base 46.0.6 has 5 distinct outstanding advisories, all fixed by ≤ 50.0.0 — GHSA-p423-j2cm-9vmq/CVE-2026-39892 (46.0.7), GHSA-537c-gmf6-5ccf (48.0.1), GHSA-m2h6-j472-rp4c/CVE-2026-69248 & GHSA-jwv3-5hgf-82ww/CVE-2026-69249 (49.0.0), GHSA-g6cj-pr64-35w5/CVE-2026-69247 (50.0.0). The last is fixed only in 50.0.0, which justifies this target; 50.0.0 itself has 0 known advisories.

Born-clean (revision = 3 and all pypi.org/simple at both base and head — no index-flip) and uv lock --check passes (121 pkgs). Transitive dep via authlib / pyjwt[crypto] / secretstorage; no repl_env code imports it.

@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/repl_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