Repository navigation
Commit 6806a1b
committed
Fix HIGH CVEs: certifi, click, pyasn1, starlette
Patches the following vulnerabilities flagged in the KRR-Production-Legacy scan:
- CVE-2024-39689 (certifi 2024.2.2): pin certifi >=2024.7.4 in pyproject,
locked to 2026.7.22 (removes GLOBALTRUST root certificates).
- CVE-2026-7246 (click 8.1.7): pin click ^8.3.3 in pyproject, locked to
8.5.0 (command injection in click.edit()).
- CVE-2026-30922 / CVE-2026-59884 / CVE-2026-59885 / CVE-2026-59886
(pyasn1): main app already locked to 0.6.4 (fixed); raise the enforcer
floor from >=0.6.2 to >=0.6.4 so image builds cannot resolve a
vulnerable version.
- CVE-2026-48818 / CVE-2026-54283 (starlette): raise the enforcer floor
from >=1.0.0 to >=1.3.1 (StaticFiles UNC SSRF fixed in 1.1.0, form
limit bypass DoS fixed in 1.3.1). fastapi 0.139.0 allows
starlette >=0.46.0 with no upper bound, so this resolves cleanly.
Compatibility changes required by click >=8.2:
- Bump typer ^0.7.0 -> ^0.19.2 (typer 0.7 crashes on import-time option
validation with click >=8.2; rich stays at 12.6.0).
- Normalize unspecified list CLI options from None to [] in
load_commands() - newer typer passes None instead of an empty tuple,
which crashed the "*" membership checks and config validators.
- Accept None in the prometheus_other_headers validator.
- Drop the removed mix_stderr argument from CliRunner in tests (stderr
is captured separately by default in click >=8.2).
All 55 tests pass; krr --help / simple --help verified working.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017tvW9dxfAQAMKE8EJHQT7E1 parent 8d9d2f3 commit 6806a1b
8 files changed
Lines changed: 144 additions & 57 deletions
File tree
- enforcer
- robusta_krr
- core/models
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
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 | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
| 27 | + | |
| 28 | + | |
28 | 29 | | |
29 | 30 | | |
30 | 31 | | |
| |||
43 | 44 | | |
44 | 45 | | |
45 | 46 | | |
| 47 | + | |
| 48 | + | |
46 | 49 | | |
47 | 50 | | |
48 | 51 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
50 | | - | |
| 50 | + | |
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
119 | 119 | | |
120 | 120 | | |
121 | 121 | | |
122 | | - | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
123 | 126 | | |
124 | 127 | | |
125 | 128 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
353 | 353 | | |
354 | 354 | | |
355 | 355 | | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
356 | 362 | | |
357 | 363 | | |
358 | 364 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
| 11 | + | |
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
| 8 | + | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
| |||
0 commit comments