GHSA-g5ff-637f-6q2m json
LiteLLM: internal_user_viewer arbitrary local file read via `vertex_ai_credentials`
published last mo. modified 15d ago
- cvss
- 8.1
- version 3.1, GitHub
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
## Summary
An authenticated LiteLLM proxy user could read arbitrary local files from the proxy runtime by sending a crafted `vertex_ai_credentials` value to `/utils/transform_request`. The request-body safety blocklist rejected `vertex_credentials` but missed its alias `vertex_ai_credentials`, which let the value reach the Vertex AI credential loader and trigger a file read that is sent to an attacker-controlled URL.
## Impact
A low-privilege authenticated user (only `internal_user_viewer`, obtainable through SSO login on many deployments) could read any file readable by the LiteLLM process. Reading files such as `/proc/self/environ` can disclose `LITELLM_MASTER_KEY` and provider API keys, so the impact can escalate to full proxy-admin control.
## Remediation
Upgrade to `1.95.0` or later. The fix adds the missing alias to the request-body blocklist, so no configuration change is needed once you upgrade. There is no reliable configuration workaround on affected versions.
Patch / fix
- pypi litellm 1.95.0
- github.com/BerriAI/litellm@065faf6 commit
- github.com/BerriAI/litellm#34189 pull request
- github.com/BerriAI/litellm/releases/tag/v1.95.0 release
Is GHSA-g5ff-637f-6q2m in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| GitHub | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | litellm | <1.95.0 |
1.95.0 |
Classification
References
Sources
- GitHub Advisory GHSA-g5ff-637f-6q2m
- Maintainer advisory GHSA-g5ff-637f-6q2m
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
The maintainers of BerriAI/litellm published their own advisory on GitHub. Reviewed sources take precedence over it.