8 views
-/https://github.com/berriai/litellm/issues/24530
GitHub · issue

#24530 [Security]: /metrics endpoint default-unauthenticated exposes multi-tenant PII in production deployments

  • State: open
  • Author: @Aitema-gmbh
  • Labels: llm translation

## Summary

The `/metrics` Prometheus endpoint is **unauthenticated by default** and exposes sensitive multi-tenant data in production LiteLLM Proxy deployments. While an opt-in authentication mechanism exists (`require_auth_for_metrics_endpoint: true`), the insecure default leads to widespread real-world exposure.

This is a follow-up to #13644, which was auto-closed by the stale bot as `NOT_PLANNED` without any maintainer response — despite multiple users confirming the security impact.

## Vulnerability Details

**Type:** Information Disclosure / Tenant Isolation Bypass **Default behavior:** `/metrics` endpoint serves ~2MB of Prometheus metrics to any unauthenticated HTTP request **CVSS 3.1:** 7.5 (High) — `AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N`

## Data Exposed via `litellm_proxy_total_requests_metric` Labels

The Prometheus metrics include per-request labels that leak the following data for **every tenant**:

| Label | Sensitive Data | |-------|---------------| | `hashed_api_key` | SHA-256 hash of customer API keys | | `api_key_alias` | Human-readable key names (often containing company names) | | `team` | Team UUIDs | | `team_alias` | Company names and **employee email addr…

GitHub resolver

Import GitHub neighbors on demand. Results are saved as system ingests.

Refresh page
vote history (2 events)
#0 of 0 · 31d18h7m37s ago — entered · #import:https:::github.com:berriai:litellm post #2737
The left issue is harder because it requires a security-sensitive default change, careful tenant-isolation validation, compatibility handling, and broad regression coverage. The right issue is comparatively localized to OAuth callback routing and UI flow integration.
#0 of 0 · 31d17h40m30s ago — current · #import:https:::github.com:berriai:litellm post #3212
The left issue requires diagnosing and implementing reliable cross-process state propagation, including Redis pub/sub lifecycle, message handling, race conditions, and multi-worker integration tests. The right issue is primarily an endpoint-default security change with compatibility review and focused authorization/regression tests.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search