Repository navigation
Commit f21d482
ROB-1636 Bump urllib3 to 2.8.0 and drop pip from the image to fix CVEs (#556)
## Summary
- **urllib3** 2.7.0 → 2.8.0 in `pyproject.toml`, `poetry.lock`,
`requirements.txt` and `enforcer/requirements.txt`. Fixes CVE-2026-97687
and CVE-2026-97689 (High). Closes dependabot alerts #122, #123, #125,
#126, #128 and #129, and the matching Artifact Registry findings on
`devel/krr`.
- **Dockerfile**: pip is uninstalled once the requirements are
installed. pip 26.2.1, the latest release, vendors its own urllib3
2.7.0, so the dependency bump alone left the CVEs in the image. krr
never calls pip at runtime. The pip upgrade, requirements install and
uninstall run in one `RUN`, so the upgraded pip never lands in an image
layer (CodeRabbit's finding, now fixed).
Linear: [ROB-1636](https://linear.app/robusta/issue/ROB-1636)
## Verification
- `poetry lock --no-update` with Poetry 1.8.5: only urllib3 changes in
the lock. `poetry check --lock` passes.
- `pytest`: 55 passed.
- Built the image for `linux/amd64` and scanned it with Trivy (Docker
Scout isn't available in the sandbox). The Python packages have no HIGH
or CRITICAL findings. Before this change the image showed urllib3 2.7.0
(pip's vendored copy) and msgpack 1.1.2. `docker history` shows no
separate pip layer.
- Built for `linux/arm64` under QEMU (from the commit before the
single-`RUN` change, so the same packages): it runs on `aarch64`, Trivy
reports the same results as amd64, urllib3 is 2.8.0, and pip is gone.
- In both images `krr.py simple --help` works.
- Not tested: a rescan in Artifact Registry. The Vanta finding clears
only after CI publishes the image.
Out of scope:
- `gcc-14` CVE-2026-95619 (Low, no Debian fix) and 10 unfixed Debian
HIGHs, unchanged from `main`.
- The `enforcer` image installs pip the same way, but Vanta has not
flagged it.
- The enforcer README's "Python 3.9+" was already wrong before this PR.
It's tracked in [ROB-1650](https://linear.app/robusta/issue/ROB-1650).
---
_Generated by [Claude
Code](https://claude.ai/code/session_01Fq7hqRqj2kshg8M2sFpN7h)_
---------
Signed-off-by: Claude <noreply@anthropic.com>
Co-authored-by: Claude <noreply@anthropic.com>1 parent 8b4e9e3 commit f21d482
5 files changed
Lines changed: 16 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
28 | 31 | | |
29 | 32 | | |
30 | 33 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
| 41 | + | |
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
54 | | - | |
| 54 | + | |
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| |||
0 commit comments