Skip to content

fix(deps): pin click >=8.3.3,<8.4 for PYSEC-2026-2132 (CI #535) - #154

Draft
Sbussiso wants to merge 2 commits into
dependabot/uv/backend/redis-8.1.0from
ci-fix/30854790700
Draft

fix(deps): pin click >=8.3.3,<8.4 for PYSEC-2026-2132 (CI #535)#154
Sbussiso wants to merge 2 commits into
dependabot/uv/backend/redis-8.1.0from
ci-fix/30854790700

Conversation

@Sbussiso

@Sbussiso Sbussiso commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Root cause

CI run #535 (30854790700) on dependabot/uv/backend/redis-8.1.0 failed two independent audit gates:

Gate Finding Severity
Backend → pip-audit --strict click 8.3.1PYSEC-2026-2132 high
Frontend → npm audit --audit-level=high --omit=dev react-router-dom 7.18.2GHSA-qwww-vcr4-c8h2 (RSC CSRF bypass) high

Neither is related to the redis 7.4.0→8.1.0 bump this Dependabot branch carries.

What this PR fixes (backend / click)

click is a transitive dependency pulled in via uvicorn (which only requires click>=7.0). Without an explicit floor, the resolver landed the vulnerable 8.3.1.

  • Fix: add click>=8.3.3,<8.4 to backend/pyproject.toml (minimum patched release on the 8.3 patch line; <8.4 keeps it patch-only — no minor bump).
  • Regenerate uv.lockclick 8.3.3.

Local verification (all green)

uv run pip-audit --strict   → No known vulnerabilities found
uv run pytest -q            → 699 passed
uv run ruff check           → All checks passed

What this PR does NOT fix (frontend / react-router) — needs human decision

react-router-dom is at ^7.18.2 (resolved 7.18.2), which is inside the advisory's vulnerable range >=7.12.0, <8.3.0. The only patched version is 8.3.0 — a 7.x → 8.x major version bump, which npm itself flags as a breaking change. npm's alternative suggestion (downgrade to 7.11.0) is also a breaking change and re-enters the pre-vuln line at the cost of any 7.12+ features in use.

A major router version migration is not a safe, mechanical fix and shouldn't ride on an unrelated Dependabot redis branch. It's flagged in a commit comment on 88e8e17 for separate triage — likely its own branch + PR with the frontend test suite run to catch any 7→8 API breakage.

Scope

  • Patch-only dependency pin + lockfile regen.
  • No application code changes.
  • Stacks on top of dependabot/uv/backend/redis-8.1.0 (base of this PR).

dependabot Bot and others added 2 commits August 3, 2026 21:28
Bumps [websockets](https://github.com/python-websockets/websockets) from 16.1.1 to 17.0.1.
- [Release notes](https://github.com/python-websockets/websockets/releases)
- [Commits](python-websockets/websockets@16.1.1...17.0.1)

---
updated-dependencies:
- dependency-name: websockets
  dependency-version: 17.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
CI run #535 (30854790700) failed the backend pip-audit --strict gate:
click 8.3.1 carries PYSEC-2026-2132 (high). click is a transitive dep
via uvicorn (which only requires click>=7.0), so the unpinned solver
was free to land the vulnerable 8.3.1.

Add an explicit floor ~=8.3.3 (>=8.3.3,<8.4) to take the minimum
patched release on the 8.3 line without forcing the 8.4.x minor bump,
keeping the change patch-only. Regenerate uv.lock -> click 8.3.3.

Verified locally:
  uv run pip-audit --strict   -> No known vulnerabilities found
  uv run pytest -q            -> 699 passed
  uv run ruff check           -> All checks passed

Note: this branch also has an UNRELATED frontend audit failure
(react-router-dom 7.18.2 / GHSA-qwww-vcr4-c8h2, high) whose only
fix is a 7.x->8.x major bump -- out of scope for a patch-only
security pin; flagged separately via commit comment for human
triage. This PR addresses only the backend (click) finding.
Sbussiso referenced this pull request Aug 3, 2026
Bumps [redis](https://github.com/redis/redis-py) from 7.4.0 to 8.1.0.
- [Release notes](https://github.com/redis/redis-py/releases)
- [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES)
- [Commits](redis/redis-py@v7.4.0...v8.1.0)

---
updated-dependencies:
- dependency-name: redis
  dependency-version: 8.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
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.

2 participants