Skip to content

fix(deps): bump user-reaching deps for security advisories - #159

Merged
ehe9991 merged 3 commits into
mainfrom
eh/deps-security-runtime
Oct 16, 2026
Merged

ehe9991 merged 3 commits into
mainfrom
eh/deps-security-runtime

Conversation

@ehe9991

@ehe9991 ehe9991 commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Problem

Several uv.lock pins with critical/high advisories reach users:

  • anyio 4.13.0 (GHSA-82r6-8w77-94w6, critical) and idna 3.13 (GHSA-65pc-fj4g-8rjx) ship inside the standalone parallel-cli binary. release.yml builds it from uv sync --extra cli, so lock pins become the bundled versions.
  • snowflake-connector-python 4.4.0 (GHSA-5cc2-282f-jjq2, critical: TLS hostname not verified; GHSA-qqj6-54q6-cxv6: credentials written to logs) sits on enrich deploy --system snowflake, which sends the user's Snowflake password. Its transitive pyjwt, urllib3 and cryptography add further highs.
  • cryptography, pyasn1, urllib3 and idna in the bigquery extra carry highs.

Solution

  • Lock bumps: anyio 4.15.1, idna 3.20, snowflake-connector-python 4.7.5, pyjwt 2.15.1, cryptography 50.0.2, urllib3 2.8.0, pyasn1 0.6.4, plus required transitive bumps pyopenssl 26.4.0 and typing-extensions 4.16.0.
  • Set the snowflake extra to >=4.7.3,<5. Without the floor, pip keeps an already-installed vulnerable connector. 4.7.1 fixes the TLS bug, and 4.7.3 also fixes the logging bug (3.x never got it).
  • The <5 cap: connector 5.0.0 (2026-10-15) needs Python 3.11+, drops most of its dependencies, and has no published changelog. Without the cap, the new floor upgrades existing 3.11+ installs straight onto it. Fresh resolution with the cap gives 4.8.0 on Python 3.10–3.13.
  • Supply chain: every target version was published at least 7 days ago. Each has the same PyPI owners and the same PEP 740 provenance publisher as the current pin, or neither version has provenance. All 104 changed artifact hashes match PyPI's digests. OSV reports no advisories on any target.
  • Other extras' transitive pins stay at the user's resolver; this PR only raises the floor where our code sends credentials.
  • The lock holds snowflake at 4.7.5. 4.8.0 turns OCSP revocation checks off unless ocsp_fail_open is set, which _build_connection_params does not do. pip users who resolve 4.8+ get that default either way. Whether to pass ocsp_fail_open=True is a separate decision.
  • cryptography 49+ ships no macOS x86_64 or universal2 wheels. Intel-Mac contributors running uv sync --all-extras build it from source, which needs Rust. The release binary does not include cryptography.

Users get the binary fixes on the next release (binaries, npm parallel-web-cli, Homebrew cask). pip users get the new floor on the next PyPI release.

Dev-only tooling bumps (GitPython, tornado, virtualenv, setuptools, datamodel-code-generator) are in a separate PR.

Testing

Supersedes Dependabot #102, #109, #127, #133, #138.

🤖 Generated with Claude Code

ehe9991 and others added 2 commits October 15, 2026 19:46
Lock bumps for packages bundled in the standalone parallel-cli binary
(anyio, idna, typing-extensions) and in the snowflake/bigquery extras
(snowflake-connector-python, pyjwt, cryptography, pyopenssl, urllib3,
pyasn1). Raise the snowflake extra floor to 4.7.3 so pip installs drop
connectors with the TLS hostname-verification and credential-logging
bugs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4.8.0 turns OCSP revocation checks off unless ocsp_fail_open is set.
4.7.5 carries the same security fixes without that default change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ehe9991
ehe9991 marked this pull request as ready for review October 16, 2026 20:33
@ehe9991
ehe9991 requested a review from a team October 16, 2026 20:33
snowflake-connector-python 5.0.0 is a dependency-level rewrite with no
published changelog. Without a cap, the new 4.7.3 floor would upgrade
existing Python 3.11+ installs straight onto it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ehe9991
ehe9991 merged commit 01fe263 into main Oct 16, 2026
7 checks passed
@ehe9991
ehe9991 deleted the eh/deps-security-runtime branch October 16, 2026 21:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant