fix(security): clear 19 trivy-fs CVEs in uv.lock at base - #456
fix(security): clear 19 trivy-fs CVEs in uv.lock at base#456seonghobae wants to merge 2 commits into
Conversation
The org-central Security Scan (trivy-fs, severity CRITICAL/HIGH/MEDIUM, ignore-unfixed) reported 19 fixable CVEs against uv.lock on every open PR (base = develop). Remediate at the shared base so open PRs inherit the fix: - Pillow 12.2.0 -> 12.3.0: clears the 2026 image-decoder CVE batch (CVE-2026-54058/54059/54060/55379/55380/55798/59197/59198/59199/59200/ 59203/59204/59205). Pillow decodes untrusted uploaded PDFs. - pypdf 6.13.3 -> 6.14.2: clears the parser DoS batch (CVE-2026-59935/59936/59937/59938). pypdf validates untrusted PDFs. - setuptools 81.0.0 -> 83.0.0: clears CVE-2026-59890 (transitive; pinned via [tool.uv] constraint-dependencies, not added as a runtime dep). - pymdown-extensions 10.21.3 -> 11.0.1: clears CVE-2026-61632 (b64 extension path traversal) and CVE-2026-67422 (ReDoS). The fix exists only in the 11.x line, so the docs-only mkdocs-material floor moves to >=9.7,<9.8 (9.6.x caps pymdown-extensions at ~=10.2). `mkdocs build --strict` is validated green on mkdocs-material 9.7.7, so the documented docs-toolchain hold advances from <9.7 to <9.8 rather than being broken. Contract tests (test_project_metadata) and CONTRIBUTING.md are updated to the new validated range; CHANGELOG [Unreleased]/Security records the remediation. Full suite: 430 passed, 100% branch coverage. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AqtiEQFfuYFsS75Aku9tPT
|
Warning Review limit reached
Next review available in: 53 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (4)
Comment |
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
@jules Please extend this security rollup with the remaining Click advisory evidenced by the repository’s current dependency scans. On this PR branch only: determine the minimum patched Click version from the current lock/advisory data, add the narrowest transitive constraint needed, refresh only the affected lock entries, extend the dependency-floor regression test and CHANGELOG, and run the full warnings-as-errors/100% branch-coverage, strict docs-build, lock-consistency, and security checks. Do not modify unrelated files or weaken any security gate. |
|
@claude Please complete the canonical base remediation before merge: the current branch still leaves Click 8.3.2, while #467 identified the fixable |
|
@coderabbitai review |
✅ Action performedReview finished.
|
Pull request was converted to draft
|
@coderabbitai help |
ChatThere are 3 ways to chat with CodeRabbit:
CodeRabbit commands
Other keywords and placeholders
Status, support, documentation and community
|
|
Closing as superseded by #467. This branch remediates Pillow, pypdf, setuptools, and pymdown-extensions, but its lockfile still resolves Click 8.3.2 and therefore omits PYSEC-2026-2132. PR #467 carries the complete, internally consistent lockfile remediation (including Click 8.4.2), the validated MkDocs Material 9.7 compatibility change, governance documentation, metadata tests, and a prior all-green nine-workflow verification on head |
Pull request was closed
|
Superseded by #467, which contains the same base-branch Pillow/pypdf/setuptools/pymdown remediation plus the independently detected Click advisory and a clean full-lock pip-audit result. Preserving this branch as regression-test source; the patched-version floor assertions will be carried forward after the complete security rollup lands. |
Pull request was closed
Summary
The org-central Security Scan (
trivy-fs,CRITICAL,HIGH,MEDIUM,ignore-unfixed) reports 19 fixable CVEs againstuv.lockon every open PR (base =develop). Per the gate's own guidance — "Remediate each finding at the shared base branch so open PRs inherit the fix" — this remediates all 19 at the base:uv.lockPillowandpypdffloors are bumped directly (both parse untrusted uploads).setuptoolsandpymdown-extensionsare transitive, so they're pinned via[tool.uv] constraint-dependenciesrather than added as runtime deps.The pymdown fix exists only in the 11.x line, and Material 9.6.x caps
pymdown-extensionsat~=10.2. The documented docs-toolchain hold's stated condition (mkdocs build --strictbreaking on the newer Material line) no longer holds:mkdocs build --strictis validated green on mkdocs-material 9.7.7, so the docs-only floor advances>=9.7,<9.8instead of the hold being broken. Contract tests andCONTRIBUTING.mdare updated to the new validated range.Git Flow target
fix/*targetingdevelop✓ (security fix on the integration branch so all open PRs inherit it)Verification
pytest— 430 passedPYTHONWARNINGS=error pytest --cov=src/newsdom_api --cov-branch --cov-fail-under=100— 100% branch coverageuv lock --locked— lockfile consistent withpyproject.tomluv run mkdocs build --strict— passes on mkdocs-material 9.7.7tests/test_project_metadata.py/tests/test_changelog.py/tests/test_dependabot.py— passNotes
Base-branch security remediation; no runtime behavior change (dependency version bumps only).
CHANGELOG.md[Unreleased] / ### Securityrecords the change. No release or hotfix back-merge follow-up required.Generated by Claude Code