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

PackageVersions
PyPI · litellmintroduced 1.65.5, fixed 1.85.0

References

Sources

SourceLicence
OSV.devCC-BY 4.0 — GitHub Advisory Database