fix(deps): bump litellm to 1.89.0 to patch CVE-2026-49468 - #2221
Conversation
Upgrade litellm from 1.83.7 to 1.89.3 to pick up the fix for GHSA-4xpc-pv4p-pm3w / CVE-2026-49468 (CVSS 9.5, Critical): a Host-header parsing flaw in the LiteLLM proxy could let an unauthenticated attacker reach protected management endpoints by spoofing the Host header. Patched in litellm 1.84.0. litellm 1.84.0+ tightened its declared Python range to ">=3.10,<3.14", so cap holmesgpt's python the same way to let Poetry resolve. Comment in pyproject.toml points to the upstream PR that will lift the cap (BerriAI/litellm#30687) so we can revert to "^3.10" once it ships. Signed-off-by: Qingchuan Hao <qingchuan.hao@microsoft.com>
Walkthrough
ChangesDependency updates in
Fixture content refresh
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
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 |
|
✅ Docker images ready for
Use these tags to pull the images for testing. 📋 Copy commandsgcloud auth configure-docker us-central1-docker.pkg.dev
docker pull us-central1-docker.pkg.dev/robusta-development/temporary-builds/holmes:810336f41
docker tag us-central1-docker.pkg.dev/robusta-development/temporary-builds/holmes:810336f41 me-west1-docker.pkg.dev/robusta-development/development/holmes-dev:810336f41
docker push me-west1-docker.pkg.dev/robusta-development/development/holmes-dev:810336f41
docker pull us-central1-docker.pkg.dev/robusta-development/temporary-builds/holmes-operator:810336f41
docker tag us-central1-docker.pkg.dev/robusta-development/temporary-builds/holmes-operator:810336f41 me-west1-docker.pkg.dev/robusta-development/development/holmes-operator-dev:810336f41
docker push me-west1-docker.pkg.dev/robusta-development/development/holmes-operator-dev:810336f41Patch Helm values in one line (choose the chart you use): HolmesGPT chart: helm upgrade --install holmesgpt ./helm/holmes \
--set registry=me-west1-docker.pkg.dev/robusta-development/development \
--set image=holmes-dev:810336f41 \
--set operator.registry=me-west1-docker.pkg.dev/robusta-development/development \
--set operator.image=holmes-operator-dev:810336f41Robusta wrapper chart: helm upgrade --install robusta robusta/robusta \
--reuse-values \
--set holmes.registry=me-west1-docker.pkg.dev/robusta-development/development \
--set holmes.image=holmes-dev:810336f41 \
--set holmes.operator.registry=me-west1-docker.pkg.dev/robusta-development/development \
--set holmes.operator.image=holmes-operator-dev:810336f41 |
✅ Deploy Preview for holmes-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Regenerate the expected markdown for fixture4 to match the current html_to_markdown behavior. The previous expected output was stale and no longer matched what the converter produces. Signed-off-by: Qingchuan Hao <qingchuan.hao@microsoft.com>
HolmesGPT onboards new packages only after they are at least 2 weeks old. litellm 1.89.3 was released 2026-06-20 (9 days ago), which does not meet the policy. 1.89.0 was released 2026-06-13 (16 days ago) and still includes the fix for CVE-2026-49468 / GHSA-4xpc-pv4p-pm3w (patched in litellm 1.84.0), so the CVE remediation is preserved. Also consolidates the python-version-cap comment next to the litellm pin since the cap is a direct consequence of the litellm pin. Signed-off-by: Claude <noreply@anthropic.com> Signed-off-by: Qingchuan Hao <qingchuan.hao@microsoft.com>
Summary
litellmfrom1.83.7to1.89.3to fix GHSA-4xpc-pv4p-pm3w / CVE-2026-49468 (Critical, CVSS 9.5).>=3.10,<3.14because litellm>=1.84.0declares the same upper bound. A comment inpyproject.tomldocuments why, and points to the upstream PR that will let us revert the cap.poetry.lock.CVE details (GHSA-4xpc-pv4p-pm3w)
< 1.84.01.84.0The LiteLLM proxy's auth layer used
request.url.path(rebuilt from theHostheader by Starlette) to decide which route's auth rules to evaluate. A craftedHostheader could make the auth check evaluate a different route than FastAPI actually dispatched, allowing an unauthenticated attacker to reach protected management endpoints. Deployments fronted by a CDN/WAF or reverse proxy that normalizes theHostheader are not affected; the safe fix is to upgrade.Why we limit the Python version
Starting with litellm
1.84.0(the version that contains the CVE fix), upstream tightened its declaredRequires-Pythonfrom<4.0,>=3.9to<3.14,>=3.10. Our project still declaredpython = "^3.10"(i.e.>=3.10,<4.0), so Poetry can't find a Python range that satisfies both andpoetry lockfails.There is nothing fundamentally broken about litellm on Python 3.14 — the cap is mostly a packaging-policy choice plus a few transitive deps that had stale
<3.14markers. The upstream fix to lift the cap lives in BerriAI/litellm#30687, still open. Once that ships in a release (expected1.90.x), we can revert this project's cap back to^3.10. A comment inpyproject.tomlrecords this so we don't forget.Test plan
poetry lockresolves cleanlymake test-without-llmpassesSummary by CodeRabbit
>=3.10, <3.14, including comments documenting the temporary upper bound.litellmdependency to1.89.0, with notes explaining the temporary cap relationship.