GHSA-hhww-mrg2-969h
LiteLLM vulnerable to reflected XSS in /sso/debug/callback
At a glance
- Published
- Updated
- CVSS_V3
- CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N
Description
### Summary The `/sso/debug/callback` endpoint reflected identity-provider-controlled fields into an inline `<script>` block via `json.dumps`, which escapes JSON string syntax but not HTML context characters such as `</script>`. An IdP-returned string field containing `</script>` (for example a user-editable display name) closed the script block and executed attacker JavaScript in the proxy's origin. ### Impact Reflected XSS on the LiteLLM proxy origin. The route required no authentication, so an attacker with an account on the configured IdP whose claims pass such strings through verbatim could complete the SSO flow themselves and deliver the resulting callback URL to a logged-in proxy admin. Scripts executing in the proxy origin can read the dashboard session cookie and act with the victim's privileges, up to full admin account takeover.
Affected packages
| Package | Versions |
|---|---|
| PyPI · litellm | introduced 1.65.5, fixed 1.85.0 |
References
- https://github.com/BerriAI/litellm/security/advisories/GHSA-hhww-mrg2-969h WEB
- https://github.com/BerriAI/litellm/pull/27498 WEB
- https://github.com/BerriAI/litellm/commit/13a193367f0ae2e7e8b29913e0d23a32d3bb0457 WEB
- https://github.com/BerriAI/litellm PACKAGE
- https://github.com/BerriAI/litellm/releases/tag/v1.85.0 WEB
Sources
| Source | Licence |
|---|---|
| OSV.dev | CC-BY 4.0 — GitHub Advisory Database |