Skip to content

fix(backend): clear click PYSEC-2026-2132 + waive unfixable cryptography CVEs (CI #536) - #157

Draft
Sbussiso wants to merge 1 commit into
dependabot/npm_and_yarn/frontend/eslint-10.8.0from
ci-fix/30854929977
Draft

fix(backend): clear click PYSEC-2026-2132 + waive unfixable cryptography CVEs (CI #536)#157
Sbussiso wants to merge 1 commit into
dependabot/npm_and_yarn/frontend/eslint-10.8.0from
ci-fix/30854929977

Conversation

@Sbussiso

@Sbussiso Sbussiso commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

CI run #536 — backend pip-audit --strict failure

The eslint-10.8.0 Dependabot PR fails the Backend tests → Dependency scan (pip-audit) gate on 4 advisories in 2 packages — all pre-existing on master, none introduced by the eslint bump (which only touches frontend/package.json + package-lock.json):

Package Version Advisory Fix
click 8.3.1 PYSEC-2026-2132 8.3.3
cryptography 48.0.1 CVE-2026-69248 49.0.0
cryptography 48.0.1 CVE-2026-69249 49.0.0
cryptography 48.0.1 CVE-2026-69247 50.0.0

click — fixed

Added click>=8.3.3 to constraint-dependencies (the established transitive-pin pattern in this repo). Patch bump, API-safe within uvicorn's click range; uv resolves to 8.4.2. Regenerated uv.lock.

cryptography — waived (no forward fix resolvable)

No forward fix exists within the current dependency tree. clerk-backend-api (a hard dep for Clerk auth; latest 6.0.1) caps cryptography <49.0.0 in every published release — so 48.0.1 is the ceiling and all three CVE fixes (49.0.0 / 50.0.0) are out of reach until clerk relaxes the upper bound.

Waived the three CVEs via --ignore-vuln in both deploy.yml and weekly-deps-refresh.yml pip-audit steps, with comments citing the upstream constraint. Added a matching explanation to the cryptography constraint-dependencies entry. Remove the ignore flags once clerk ships a version allowing cryptography >=49.0.0.

Verification (local)

  • uv run pip-audit --strict --ignore-vuln CVE-2026-69247 --ignore-vuln CVE-2026-69248 --ignore-vuln CVE-2026-69249No known vulnerabilities found
  • uv run ruff check → clean
  • uv run pytest -q699 passed
  • Frontend (eslint 10.8.0): npm test85 passed, npm run build → ✓

Not addressed — frontend npm audit (react-router-dom)

The concurrent Frontend audit + build failure (react-router-dom GHSA-qwww-vcr4-c8h2, high) is not fixed here — it requires a human decision:

  • The advisory affects 7.12.0–8.2.0; the app is at 7.18.2 (the latest 7.x).
  • No patched forward version exists; npm's only suggestion is a breaking downgrade to 7.11.0.
  • The vulnerable path (RSC/data-router mode CSRF via createBrowserRouter/RouterProvider/<Form>/useActionData) is unreachable — the frontend uses classic BrowserRouter + <Routes> exclusively (verified by grepping src/ for all vulnerable APIs: zero hits).
  • npm audit has no --ignore flag, so there's no clean way to waive it without an override pin to 7.11.0 (which risks breaking routing features).

Recommend a separate PR to either (a) override-pin react-router-dom to 7.11.0 and test, or (b) wait for react-router 7.18.3+ / 8.x with the fix.


Hermes coder CI triage — run #536 (30854929977)

…CI #536)

Backend half of CI run #536 (commit 8633fdf, dependabot eslint-10.8.0
PR) failed pip-audit --strict on 4 advisories in 2 packages:

  click 8.3.1        PYSEC-2026-2132  (fix 8.3.3)
  cryptography 48.0.1 CVE-2026-69248  (fix 49.0.0)
  cryptography 48.0.1 CVE-2026-69249  (fix 49.0.0)
  cryptography 48.0.1 CVE-2026-69247  (fix 50.0.0)

click: add a constraint-dependencies pin 'click>=8.3.3' (the established
transitive-pin pattern in this repo). Patch/minor bump, API-safe within
uvicorn's click range; uv resolves to 8.4.2. Regenerated uv.lock.

cryptography: NO forward fix is resolvable. clerk-backend-api (a hard dep
for Clerk auth, latest 6.0.1) caps cryptography <49.0.0 in every published
release, so 48.0.1 is the ceiling and all three CVE fixes (49.0.0 / 50.0.0)
are out of reach until clerk relaxes the bound. Waived the three via
--ignore-vuln in both the deploy.yml and weekly-deps-refresh.yml pip-audit
steps, with a comment citing the upstream constraint. Added a matching
explanation to the cryptography constraint-dependencies entry.

Verified locally: pip-audit --strict (with the three ignores) => 'No
known vulnerabilities found', ruff check clean, 699 backend tests pass.
Frontend vitest (85) + production build also pass with eslint 10.8.0.

Does NOT address the concurrent 'Frontend audit + build' npm-audit
failure (react-router-dom GHSA-qwww-vcr4-c8h2). That advisory is RSC/
data-router CSRF; the frontend uses classic BrowserRouter + <Routes>
and never touches createBrowserRouter/RouterProvider/<Form>/useActionData,
so the vulnerable path is unreachable. No patched forward version exists
(latest 7.18.2 is in the affected range); npm's only fix is a breaking
downgrade to 7.11.0. Left for a human decision.
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