Reflected cross-site scripting in LiteLLM SSO debug callback
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-79.
Summary
LiteLLM from 1.65.5 before 1.85.0 is affected. The /sso/debug/callback endpoint inserts identity provider fields into an inline script block using JSON encoding, which does not escape HTML characters (CWE-79). The route needs no authentication, so an attacker with an account on the configured identity provider can send a crafted callback URL to a logged-in admin, whose browser then runs attacker JavaScript. The script can read the dashboard session cookie and take over the admin account.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the GitHub advisory
### 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.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| — | litellm (PyPI) | 1.65.5 to before 1.85.0 | 1.85.0 | Patch available | GHSA-hhww-mrg2-969h |
- litellm (PyPI) Vendor— Affected 1.65.5 to before 1.85.0 Fixed in 1.85.0 Patch available GHSA-hhww-mrg2-969h
Remediation
Upgrade the litellm PyPI package to 1.85.0, the fixed version.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
- Fix · GHSA-hhww-mrg2-969h litellm (PyPI) Fixed in 1.85.0 Advisory →
Timeline
- 2026-10-27 Threatist record created from GHSA-hhww-mrg2-969h
References
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences