chore(deps): bump cryptography from 48.0.1 to 50.0.0 in /envs/websearch_env - #1064
chore(deps): bump cryptography from 48.0.1 to 50.0.0 in /envs/websearch_env#1064dependabot[bot] wants to merge 1 commit into
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>
|
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. |
There was a problem hiding this comment.
Alignment Review Report
chore(deps): bump cryptography 48.0.1 → 50.0.0 in /envs/websearch_env — native dependabot/uv/envs/websearch_env/cryptography-50.0.0, lock-only change to envs/websearch_env/uv.lock.
Automated Checks
- Lint: PASS (for this PR's scope).
lint.shexits 1 only on ~26 pre-existing unformatted.pyfiles in other envs (agent_world_model/chat/coding_tools/jupyter/opencode/pi/repl/terminus/textarena);websearch_envappears 0 times anduv.lockis TOML (not linted). - Debug code: CLEAN.
check-debug.shreports only pre-existingsrc/CLIconsole.print/TODOs; this PR touches nosrc/. uv lock --check --project envs/websearch_env: PASS (124 packages).- Hash integrity: PASS. All 46
cryptography-50.0.0artifacts (1 sdist + 45 wheels) in the lock match PyPI sha256 + size + filename exactly; none yanked. - Mergeability: clean 1-commit fast-forward on
origin/main(git merge-tree→ no conflict; base = current main tip024eedc9).
Security (positive — effectively a security update)
Base 48.0.1 carries 3 distinct outstanding advisories, all cleared by ≤ 50.0.0:
- CVE-2026-69248 (GHSA-m2h6-j472-rp4c) → fixed 49.0.0
- CVE-2026-69249 (GHSA-jwv3-5hgf-82ww) → fixed 49.0.0
- CVE-2026-69247 (GHSA-g6cj-pr64-35w5) → fixed 50.0.0 only ⇒ justifies bumping to exactly 50.0.0
50.0.0 reports 0 known advisories. requires-python (!=3.9.0,!=3.9.1,>=3.9) is unchanged from 48.0.1 and satisfied by websearch_env's >=3.10. cryptography is a deep transitive dep (via authlib / joserfc / pyjwt[crypto] / secretstorage); no websearch_env code imports it → zero env-code blast radius.
Open RFCs Context
rfcs/ = 000–005 + 010 (all In Review except 010 Draft). None cover packaging / dependency management / PyPI index provenance ⇒ no RFC surface for this change.
Tier 1: Fixes Required
None. (Don't hand-edit a dependabot lockfile — registry/version choices are dependabot/team decisions.)
Tier 2: Alignment Discussion
Principle Conflicts
ALIGNMENT FLAG: declared-provenance flip on 129 packages (this lock was not "born clean")
- Principle at stake: "Container isolation for reproducibility" (PRINCIPLES.md L15) / "Performance for isolation" trade-off (L22)
- The concern: beyond the cryptography bump, the re-resolve rewrote every package
sourcefrom the HF mirrorhttps://pypi.registries.huggingface.tech/to publichttps://pypi.org/simple(129 refs, 0 mirror left) and bumpedrevision = 2 → 3. Artifact URLs stayfiles.pythonhosted.organd all non-cryptography hashes are byte-identical ⇒ provenance-only / benign, but it changes the declared install index for the whole env. Flag, don't fix. - Suggested reviewer: @Darktex (reproducibility principle, PRINCIPLES.md author) + @burtenshaw (dependabot config owner)
RFC Conflicts
None identified.
Process / FYI (non-blocking)
- exclude-paths bypass (cc @burtenshaw):
.github/dependabot.ymlsets theuvupdaterdirectory: "/"withexclude-paths: ["envs/**"], yet this nativedependabot/uv/envs/websearch_env/...PR still editsenvs/**. The uv ecosystem doesn't honorexclude-paths(dependabot-core#15102), and CVE-driven security updates can't be suppressed by it anyway (#14408) — so these env PRs appear despite the config. Intended path is the aggregatedcodex/dependabot-envs-*roll-up. No action on this PR. - rev-3 / base-image uv heads-up (cc @burtenshaw):
revision = 3needs uv ≥ ~0.8. PR CI is fine (validate-env-locksuses uv 0.9.3). Butwebsearch_env/server/Dockerfileonly installs a fresh uvif ! command -v uv, andopenenv-baseships uv 0.5.27 — a future image rebuild'suv sync --frozencould choke on rev 3. Latent only:docker-build.ymlisn't triggered byuv.lock, and other rev-3 envs (openapp/jupyter) deploy fine. - Benign churn: the diff also carries semantically-equivalent marker re-normalizations (pandas-family
python-dateutil/pytz/tzdataandsecretstorage'scryptography/jeepneymarkers simplified). No resolved version changed (onlycryptographymoved);uv lock --checkconfirms consistency, andsecretstoragestays linux-gated viakeyring. - CI coverage FYI:
websearch_envtests are--ignored intest.yml(network-dependent), so the bump gets no env-test coverage — butvalidate-env-locksstill exercises the lock.
Summary
- 0 mechanical issues to fix
- 1 alignment point for human review (index/provenance flip — reproducibility, @darktex/@burtenshaw)
- 0 RFC conflicts
- Net security-positive (clears 3 distinct cryptography advisories; the 50.0.0-only fix for CVE-2026-69247 justifies the exact target)
Sent by Cursor Automation: Pre-review
| @@ -567,68 +567,65 @@ toml = [ | |||
|
|
|||
| [[package]] | |||
| name = "cryptography" | |||
| version = "48.0.1" | |||
| source = { registry = "https://pypi.registries.huggingface.tech/" } | |||
| version = "50.0.0" | |||
There was a problem hiding this comment.
Security bump verified. cryptography 48.0.1 → 50.0.0. Base 48.0.1 had 3 distinct outstanding advisories — CVE-2026-69248 / CVE-2026-69249 (fixed 49.0.0) and CVE-2026-69247 fixed in 50.0.0 only (hence this exact target). 50.0.0 = 0 known advisories, not yanked, requires-python satisfied by websearch_env >=3.10. All 46 cryptography-50.0.0 artifacts match PyPI sha256 + size exactly. Transitive via authlib/joserfc/pyjwt[crypto]/secretstorage — no websearch_env code imports it.
| @@ -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" } | |||
There was a problem hiding this comment.
Tier 2 — index-flip (reproducibility). This re-resolve flipped all 129 package source refs from the HF mirror (pypi.registries.huggingface.tech) to public pypi.org/simple (0 mirror left; this is the first flipped line — aiofile). Artifact URLs stay files.pythonhosted.org and non-cryptography hashes are unchanged ⇒ provenance-only / benign, but it changes the declared install index for the whole env. Flag for a maintainer decision (PRINCIPLES.md L15 reproducibility); please don't hand-revert here. cc @Darktex / @burtenshaw
| @@ -1,5 +1,5 @@ | |||
| version = 1 | |||
| revision = 2 | |||
| revision = 3 | |||
There was a problem hiding this comment.
Lock revision = 2 → 3 (side effect of the re-resolve). PR CI is fine — validate-env-locks runs uv 0.9.3. Heads-up only: server/Dockerfile installs a fresh uv only if ! command -v uv, and openenv-base ships uv 0.5.27 (too old for rev 3), so a future image rebuild's uv sync --frozen could fail. Latent: docker-build.yml isn't triggered by uv.lock, and other rev-3 envs already deploy fine. cc @burtenshaw
|
Closing in favor of aggregate env Dependabot PR #1015. |
|
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 If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |


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.
Note
Medium Risk
Major
cryptographyupgrade includes a security fix (CVE-2026-69247) but touches crypto used by auth/JWT stacks (e.g. Authlib, PyJWT); lock-wide registry change could affect reproducibility if mirror contents differ.Overview
Updates
envs/websearch_env/uv.lockso the resolvedcryptographypackage moves from 48.0.1 to 50.0.0, including refreshed wheel/sdist metadata for that release.The lockfile also repoints every package
sourcefrom the Hugging Face PyPI mirror tohttps://pypi.org/simple, bumps the lockrevisionto 3, and adjusts a few transitive dependency markers (e.g.pandas/secretstorage) to match the regenerated resolution graph.Reviewed by Cursor Bugbot for commit 8a2059b. Bugbot is set up for automated code reviews on this repo. Configure here.