[rhoai-3.4] Fix 15 CVEs: pillow, soupsieve, pyasn1, starlette + llmcompressor unblock - #2699
Conversation
📝 WalkthroughWalkthroughUpdated CVE minimum versions, pinned requirements, package hashes, and generated uv lock metadata for Python 3.12 environments. Updated Pillow, pyasn1, SoupSieve, Starlette, and selected package artifacts across CPU, CUDA, and ROCm configurations. ChangesPython dependency remediation
Estimated code review effort: 2 (Simple) | ~15 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 6✅ Passed checks (6 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@dependencies/cve-constraints.txt`:
- Line 19: Update the llmcompressor lock-generation path to explicitly document
and apply an exception for the global pillow>=12.3.0 constraint, or update
llmcompressor to a version that supports Pillow 12.3.0 or newer; ensure
generated llmcompressor locks no longer conflict with the pinned pillow==12.1.1
dependency.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Repository UI (inherited), Organization UI (inherited)
Review profile: CHILL
Plan: Pro Plus
Run ID: 5c6c1cff-6877-4dda-8d49-28f7834de0e3
📒 Files selected for processing (33)
codeserver/ubi9-python-3.12/requirements.cpu.txtcodeserver/ubi9-python-3.12/uv.lock.d/pylock.cpu.tomldependencies/cve-constraints.txtjupyter/datascience/ubi9-python-3.12/requirements.cpu.txtjupyter/datascience/ubi9-python-3.12/uv.lock.d/pylock.cpu.tomljupyter/minimal/ubi9-python-3.12/requirements.cpu.txtjupyter/minimal/ubi9-python-3.12/requirements.cuda.txtjupyter/minimal/ubi9-python-3.12/requirements.rocm.txtjupyter/minimal/ubi9-python-3.12/uv.lock.d/pylock.cpu.tomljupyter/minimal/ubi9-python-3.12/uv.lock.d/pylock.cuda.tomljupyter/minimal/ubi9-python-3.12/uv.lock.d/pylock.rocm.tomljupyter/pytorch/ubi9-python-3.12/requirements.cuda.txtjupyter/pytorch/ubi9-python-3.12/uv.lock.d/pylock.cuda.tomljupyter/rocm/pytorch/ubi9-python-3.12/requirements.rocm.txtjupyter/rocm/pytorch/ubi9-python-3.12/uv.lock.d/pylock.rocm.tomljupyter/rocm/tensorflow/ubi9-python-3.12/pylock.tomljupyter/tensorflow/ubi9-python-3.12/requirements.cuda.txtjupyter/tensorflow/ubi9-python-3.12/uv.lock.d/pylock.cuda.tomljupyter/trustyai/ubi9-python-3.12/requirements.cpu.txtjupyter/trustyai/ubi9-python-3.12/uv.lock.d/pylock.cpu.tomlrstudio/rhel9-python-3.12/uv.lock.d/pylock.cpu.tomlrstudio/rhel9-python-3.12/uv.lock.d/pylock.cuda.tomlruntimes/datascience/ubi9-python-3.12/requirements.cpu.txtruntimes/datascience/ubi9-python-3.12/uv.lock.d/pylock.cpu.tomlruntimes/minimal/ubi9-python-3.12/requirements.cpu.txtruntimes/minimal/ubi9-python-3.12/uv.lock.d/pylock.cpu.tomlruntimes/pytorch/ubi9-python-3.12/requirements.cuda.txtruntimes/pytorch/ubi9-python-3.12/uv.lock.d/pylock.cuda.tomlruntimes/rocm-pytorch/ubi9-python-3.12/requirements.rocm.txtruntimes/rocm-pytorch/ubi9-python-3.12/uv.lock.d/pylock.rocm.tomlruntimes/rocm-tensorflow/ubi9-python-3.12/pylock.tomlruntimes/tensorflow/ubi9-python-3.12/requirements.cuda.txtruntimes/tensorflow/ubi9-python-3.12/uv.lock.d/pylock.cuda.toml
|
/hold known issue present, this update cannot be completed before llmcompressor 0.10.0.3 is onboarded, as per comment above |
CI status [antigravity]Run: Build Notebooks (pr) #30879368182 — 29/29 complete · 26 passed · 2 failed · 1 skipped Failures so far
Likely root causes
Suggested next steps
|
CI status [antigravity]Run: Build Notebooks (push) #31458102715 — 3/3 complete · 3 skipped No workbench image jobs ran; all matrix jobs were skipped. |
Updates pillow constraint in dependencies/cve-constraints.txt and regenerates lockfiles. pillow 12.2.0 → 12.3.0 across 10 images. 2 llmcompressor images excluded (llmcompressor pins pillow<=12.1.1). CVEs: CVE-2026-59200, CVE-2026-54058, CVE-2026-59199, CVE-2026-59197, CVE-2026-59205, CVE-2026-59204, CVE-2026-54060, CVE-2026-55380, CVE-2026-55379, CVE-2026-42311
Adds constraint to dependencies/cve-constraints.txt and regenerates lockfiles. soupsieve 2.8.3 → 2.8.4 across all affected images.
Adds constraint to dependencies/cve-constraints.txt and regenerates lockfiles. pyasn1 0.6.3 → 0.6.4 across all affected images.
Updates starlette constraint in dependencies/cve-constraints.txt and regenerates lockfiles. starlette 1.2.0 → 1.3.1 across all affected images.
llmcompressor 0.10.0.3 relaxes pillow upper bound from <=12.1.1 to <13.0.0, unblocking the pillow>=12.3.0 CVE constraint for the 2 llmcompressor images. No breaking changes — same 0.10.x branch patch. pillow 12.1.1 → 12.3.0, llmcompressor 0.10.0.1 → 0.10.0.3
4fbc371 to
a67b464
Compare
CI status [antigravity]Run: Build Notebooks (push) #31458635129 — 3/3 complete · 3 skipped No workbench image jobs ran; all matrix jobs were skipped. |
CI status [antigravity]Run: Build Notebooks (pr) #31458106510 — 31/31 complete · 3 passed · 1 skipped · 27 cancelled Failures so far
(+ 19 other failed matrix jobs) Likely root causes
Suggested next steps
|
|
PR is up for review now. |
|
/build-konflux |
CI status [antigravity]Run: Build Notebooks (pr) #31458636685 — 31/31 complete · 28 passed · 2 failed · 1 skipped Failures so far
Likely root causes
Suggested next steps
|
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: mtchoum1 The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Summary
Batch CVE remediation (round 2) for Notebooks Images on rhoai-3.4. Updates constraints in
dependencies/cve-constraints.txtand regenerates all lockfiles. Also bumps llmcompressor 0.10.0.1 → 0.10.0.3 to unblock pillow CVE fix for llmcompressor images.CVEs Fixed (15 CVEs, 4 packages, all 18 images)
llmcompressor Unblock
llmcompressor 0.10.0.1 pinned
pillow<=12.1.1, blocking the pillow>=12.3.0 constraint for jupyter/pytorch+llmcompressor and runtimes/pytorch+llmcompressor. Bumped to 0.10.0.3 (same 0.10.x branch patch, no breaking changes) which relaxes pillow to<13.0.0.Testing
pytest tests/test_main.py— 11 passed, 18 skipped, 902 subtests passed (matches baseline, no regressions)Test plan
pytest tests/test_main.pypasses (no regressions)/build-konflux/build-tensorflow-rocm/kfbuild odh-workbench-jupyter-pytorch-llmcompressor-cuda-py312-ubi9