Skip to content

chore(deps): bump deps to patch 4 CVEs blocking CI pip-audit - #2

Merged
linardsb merged 4 commits into
mainfrom
security/cve-deps-bump
Jul 7, 2026
Merged

linardsb merged 4 commits into
mainfrom
security/cve-deps-bump

Conversation

@linardsb

@linardsb linardsb commented May 5, 2026

Copy link
Copy Markdown
Owner

Summary

  • Unblocks main CI: pip-audit was failing with 4 CVEs (run 25338489492).
  • Bumps four dependencies to their patched versions and adds the unfixable pip CVE to the audit ignore list.
Package Have Need Advisory
authlib 1.6.9 1.7.1 GHSA-jj8c-mmj3-mmgv (OAuth cache CSRF)
lxml 6.0.2 6.1.0 CVE-2026-41066 (XXE local file read)
python-dotenv 1.2.1 1.2.2 CVE-2026-28684 (symlink follow)
python-multipart 0.0.22 0.0.27 CVE-2026-40347 (multipart preamble/epilogue DoS)
pip 26.0.1 — CVE-2026-3219 — no upstream fix; added to --ignore-vuln

Test plan

  • CI Backend Checks job passes (Dependency audit step in particular).
  • No runtime regressions on app boot — all bumps are minor/patch within their advertised compatible ranges.

🤖 Generated with Claude Code

linardsb and others added 4 commits May 4, 2026 20:46
Task 27 spot-check verification reclassified T-016/T-023/T-024/T-042 as
NOT MATERIAL after primary-source re-read:

- T-023/T-024: gtfs_rt_publisher.py:122-124 actually re-raises and emits
  transit.publisher.build_failed via logger.exception — original "swallows
  silently" claim was wrong on both rows.
- T-042: models.py:73 already has Mapped[int]/SmallInteger; the ::int
  casts in repository.py are SQLAlchemy Row coercion, not Float→int.
- T-016: pip-audit/vulture/pydeps deferred-task entry doesn't fit §B
  rubric; demoted from OPEN to NOT MATERIAL — DEFERRED TASK.

Also softened T-017 unverified ~250KB-per-tick estimate to "multi-
hundred-KB on each tick" with a measure-via-redis-cli-MONITOR note,
fixed the Section 1 T-003 citation typo, and removed the Section 2
"stale log event" drift bullet that was the source of the bad T-024.

Header tally adjusted to 35 net findings.

Co-Authored-By: Claude <noreply@anthropic.com>
…01/T-021)

Finishes T-001 codebase-wide and closes T-021. Adds BadRequestError(400),
PayloadTooLargeError(413), UnsupportedMediaTypeError(415), and
ServiceUnavailableError(503) to the AppError hierarchy so route handlers
no longer reach for raw HTTPException — status mapping flows through
app_exception_handler like the rest of the slice.

13 raises migrated across analytics (5), knowledge (5), transit (1),
auth (1), and schedules (1). Kept by design: auth/dependencies (7),
core/health (7), fleet webhook (2), auth refresh 401 (1), and the agent
quota 429 (1) — each pinned in app/tests/test_exception_conventions.py
so future regressions trip the gate.

Status codes are unchanged at every site; tests that asserted on the
HTTPException ``detail`` body now assert on the AppError ``error`` body.

Co-Authored-By: Claude <noreply@anthropic.com>
- authlib 1.6.9 → 1.7.1 (GHSA-jj8c-mmj3-mmgv: OAuth cache CSRF)
- lxml 6.0.2 → 6.1.0 (CVE-2026-41066: XXE local file read)
- python-dotenv 1.2.1 → 1.2.2 (CVE-2026-28684: symlink follow)
- python-multipart 0.0.22 → 0.0.27 (CVE-2026-40347: multipart DoS)
- ci: add pip CVE-2026-3219 to ignore list (no upstream fix yet)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Two parallel heads existed on main:
- 4863b96d1d30 (post kb-4/kb-5/lv-3-4 merge)
- y9z0a1b2c3d4 (phone_assignment_partial_unique)

CI's `alembic upgrade head` (singular) errors with
"Multiple head revisions are present". This empty merge
revision collapses them.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@linardsb
linardsb force-pushed the security/cve-deps-bump branch from ccc9917 to 244b3fe Compare May 5, 2026 15:52
@linardsb
linardsb merged commit bf715fe into main Jul 7, 2026
3 checks passed
@linardsb
linardsb deleted the security/cve-deps-bump branch July 7, 2026 19:55
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