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-2021-20323 | Kitploit
Ferramentas/GitHubGitHub/ndmalc/cve-2021-20323
Análise de VulnerabilidadesExploração de Aplicações WebSegurança WebTestes de PenetraçãoPapers e PesquisaAprendizado e Educação
GitHubndmalc/cve-2021-20323

CVE-2021-20323

Ver Repositório
132há 3 anosAinda 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-2021-20323

Descrição

Keycloak antes da versão 18.0.0 e após a 10.0.0 contém um XSS refletido no endpoint clients-registrations. O bug é acionado ao fornecer, via POST, uma estrutura json com uma chave como nome de parâmetro que não é suportada pelo endpoint. A resposta reflete a chave json em uma mensagem de erro e com o cabeçalho definido como Content-Type: text/html. Quando executado em um navegador, o código html da chave json é interpretado, permitindo acionar código JavaScript. Não é necessária autenticação e o bug afeta todos os realms disponíveis.

Atualmente, devido ao bug exigir Content-Type: application/json e ser submetido via POST, não há um caminho comum de exploração que tenha impacto no usuário.

Este repositório fornece um POC para o CVE-2021-20323 e recomendações de remediação/mitigação.

Como acionar o bug

O bug é muito fácil de acionar.

root@kitploit:~
curl -v -X POST {BaseURL}/realms/master/clients-registrations/default -H "Content-type: application/json" -d "{\"\":1}"

Também é possível acioná-lo com o provedor openid-connect.

root@kitploit:~
curl -v -X POST {BaseURL}/realms/master/clients-registrations/openid-connect -H "Content-type: application/json" -d "{\"\":1}"

Nota: Em versões mais antigas do Keycloak (as que executam com wildfly em vez de quarkus), o caminho base usa /auth/realms/* em vez de /realms/*

O bug é explorável ?

Como podemos ver em várias fontes aqui ou aqui, normalmente não é possível explorar um XSS POST refletido que exija Content-Type: application/json para ser vulnerável. O único caso em que isso poderia acontecer é se a política de CORS fosse manualmente afrouxada do padrão para permitir solicitações entre origens. Esse cenário só é razoável de se assumir em casos de uso muito específicos, criados por razões funcionais pelo proprietário do aplicativo. Para ser explorável nesse caso, o atacante precisaria estar no controle do domínio/servidor permitido na política de CORS ou ter um XSS nesse segundo domínio que pudesse ser usado como retransmissor.

Com o CVE-2021-20323, o Keycloak não aceita POST com Content-Type de multipart/form-data ou application/x-www-form-urlencoded, que são os únicos dois tipos permitidos em um envio básico de form. Isso torna o CVE-2021-20323 explorável apenas se o CORS permitir explicitamente.

root@kitploit:~
# curl -X POST {BaseURL}/realms/master/clients-registrations/default -H "Content-type: multipart/form-data" -d "{\"\":1}"
{"error":"RESTEASY003065: Cannot consume content type"}

# curl -X POST {BaseURL}/realms/master/clients-registrations/default -H "Content-type: application/x-www-form-urlencoded" -d "{\"\":1}"
{"error":"RESTEASY003065: Cannot consume content type"}

Como corrigir ?

Atualize para o Keycloak 18.0.0 ou posterior.

Não há versão corrigida conhecida para o RedHat Single Sign-On, que é uma versão reempacotada do Keycloak pela RedHat.

Alternativas de mitigação

  1. Implemente um proxy reverso para proibir qualquer chamada a clients-registrations
  2. Configure o Keycloak com ACL para limitar o acesso a clients-registrations, de forma semelhante a esta publicação no blog do Keycloak

Links

  • https://github.com/keycloak/keycloak/security/advisories/GHSA-m98g-63qj-fp8j
  • https://nvd.nist.gov/vuln/detail/CVE-2021-20323
  • https://bugzilla.redhat.com/show_bug.cgi?id=2013577
  • https://access.redhat.com/security/cve/CVE-2021-20323
  • https://github.com/keycloak/keycloak/commit/3aa3db16eac9b9ed8c5335ac86f5f50e0c68662d
  • https://security.stackexchange.com/questions/263301/reflected-xss-found-in-web-application-via-post-request-with-json-body-is-this
  • https://www.keycloak.org/2021/12/cve

Licença

Licença MIT © [ndmalc]

Baixar ferramenta