---
id: "GHSA-g5ff-637f-6q2m"
kind: "vulnerability"
aliases: ["GHSA-g5ff-637f-6q2m"]
title: "LiteLLM: internal_user_viewer arbitrary local file read via `vertex_ai_credentials`"
severity: "high"
cvss: 8.1
epss: null
exploited: false
status: "open"
category: "ai-tooling"
products: [{"name": "litellm", "fixed": ["1.95.0"], "affected": "< 1.95.0", "ecosystem": "pypi"}]
ecosystems: ["pypi"]
tags: ["ai-gateway", "ai-tooling", "cwe-20", "cwe-22", "litellm", "python", "self-hosted"]
not_affected_if: ["fixed-version", "no-authenticated-users"]
published_at: "2026-10-27T15:32:36+00:00"
first_seen_at: "2026-10-27T15:34:04+00:00"
updated_at: "2026-10-27T15:35:38+00:00"
sources: [{"source": "ghsa", "url": "https://github.com/advisories/GHSA-g5ff-637f-6q2m", "first_seen_at": "2026-10-27T15:34:04+00:00"}]
---

# LiteLLM: internal_user_viewer arbitrary local file read via `vertex_ai_credentials`

An authenticated LiteLLM proxy user with only the internal_user_viewer role can send a crafted vertex_ai_credentials value to /utils/transform_request, which triggers a read of local files that are then sent to an attacker-controlled URL. Reading files such as /proc/self/environ can expose LITELLM_MASTER_KEY and provider API keys, which can escalate to full proxy-admin control.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- pypi:litellm affected < 1.95.0 fixed 1.95.0

## How to check

- Check the installed version with `pip show litellm` and confirm whether it is below `1.95.0`.
- Confirm the proxy is reachable by users who hold the `internal_user_viewer` role, for example through SSO login.

## Fix

- Upgrade LiteLLM to `1.95.0` or later; the fix adds the missing alias to the request-body blocklist and needs no configuration change.
- Rotate `LITELLM_MASTER_KEY` and provider API keys if an affected version was reachable by low-privilege users, since they may have been read from the process environment.

## Timeline

- 2026-10-27T15:34:04+00:00 ghsa https://github.com/advisories/GHSA-g5ff-637f-6q2m

## From the sources

## 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.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
