Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2022-25262 — PoC + Schwachstellendetails für CVE-2022-25262 / JetBrains Hub – SAML-Response-Übernahme per Single-Click | Kitploit
Tools/GitHubGitHub/yuriisanin/cve-2022-25262
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsAuthentifizierungRed Teaming
GitHubyuriisanin/cve-2022-25262

CVE-2022-25262

PoC + Schwachstellendetails für CVE-2022-25262 / JetBrains Hub – SAML-Response-Übernahme per Single-Click

Repository anzeigen
175vor 4 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2022-25262

PoC + Schwachstellendetails für CVE-2022-25262 | JetBrains Hub Ein-Klick-SAML-Antwortübernahme

  • CVE-2022-25262
    • Voraussetzungen
    • Verwendung
    • Wie funktioniert es?
      • Autorisierungscode-Pool für den „OAuth2 -> SAML“-Austausch
      • YouTrack Konnector OAuth2-Autorisierungscode-Übernahme (designbedingt)
      • Abhilfe

Voraussetzungen

  • JetBrains Hub <2022.1.14434
  • JetBrains Hub als SAML-IdP konfiguriert
  • Installierter Dienst „YouTrack Konnektor“ (im Lieferumfang von YouTrack enthalten)

Verwendung

Installieren und ausführen:

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  show this help message and exit
    -p P        Uvicorn port
    
# If you run the exploit on the local machine, you might need to use Ngrok or alternatives.
$ ngrok http 8000

Verwendung:

  1. Verwenden Sie den Endpunkt „GET /get-exploit-link“, um den Exploit-Link zu erhalten.
  2. Senden Sie den Link an ein Opfer.

Abfrageparameter:

Exploit-Link abrufen:

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"}

DEMO:

CVE-2022-25262 Demo

Wie funktioniert es?

Die Schwachstelle besteht aus zwei Teilen:

  • Verwendung eines OAuth2-Autorisierungscode-Pools für den Austauschprozess „OAuth2 -> SAML“.
  • Autorisierungscode-Übernahme mithilfe der YouTrack Konnector-Integration.

Autorisierungscode-Pool für den „OAuth2 -> SAML“-Austausch

Der SAML-IdP fungiert als Erweiterung für OAuth. Wenn ein bestimmter Benutzer sich bei einem bestimmten Dienstanbieter anmelden möchte, durchläuft er den OAuth-Autorisierungscode-Grant-Flow (Anfragen 1-2), und sobald der Code eingeholt wurde, wird er an den Hub zurückgegeben (Anfrage 3). Der Hub nimmt die Informationen über den mit dem Code verknüpften Benutzer und stellt eine signierte SAML-Antwort für den Dienst aus. Obwohl der SAML-IdP für die Integration den Hub-OAuth2-Client (client_id=0-0-0-0-0) verwendet, prüft er nicht, in wessen Namen der Code ausgestellt wurde. Das Einzige, was hier zählt, ist, ob der Code gültig ist. Dies kann zu einer SAML-Antwortübernahme führen, wenn der Angreifer einen Weg findet, einen Autorisierungscode von einem beliebigen im Hub registrierten OAuth-Client zu übernehmen.

oauth2-saml-exchange

YouTrack Konnector OAuth2-Autorisierungscode-Übernahme (designbedingt)

YouTrack Konnector ist ein Erstanbieterdienst, der es ermöglicht, eine bestimmte YouTrack-Instanz mit ihrem Slack-Bot zu verbinden. Der Dienst nimmt die URL-Adresse eines YouTrack sowie die ID und das Geheimnis des Konnector-OAuth-Clients entgegen (Anfrage 1). Anschließend versucht er zu überprüfen, ob die angegebene URL auf ein gültiges YouTrack verweist, indem er mehrere API-Endpunkte aufruft („Handshake“-Anfragen 2-3). Wenn alles gut geht, gibt Konnector die URL zurück, die es einem bestimmten Benutzer ermöglicht, mit dem OAuth-Code-Grant-Flow fortzufahren (Antwort 1). Die URL enthält einen „state“-Abfrageparameter, der dem Konnector hilft, den OAuth-Autorisierungscode an den richtigen Handler (Hub-Instanz) weiterzuleiten. Ein Angreifer könnte einen Host mit den für den „Handshake“ erforderlichen Endpunkten erstellen und einen „state“-Parameter erhalten, der auf den Host des Angreifers verweist. Danach könnte der Angreifer eine OAuth-Autorisierungs-URL erstellen und an ein Opfer senden. Wenn das Opfer auf den Link klickt und den OAuth-Flow abschließt (das Opfer muss eine gültige Sitzung im Hub haben), empfängt der Konnector-Dienst den Code und sendet ihn an den Host des Angreifers (Anfragen 4-6).

slack-service-authz-code-takeover

Abhilfe

Das YouTrack-Team hat eine Prüfung hinzugefügt, die die Verwendung von Autorisierungscodes erlaubt, die für den OAuth-Client „JetBrains Hub Service“ während des „OAuth2 -> SAML“-Austauschprozesses ausgestellt wurden. Folglich gibt es keine Möglichkeit, Autorisierungscodes auszutauschen, die für den OAuth-Client „YouTrack Konnector“ ausgestellt wurden.

Support

Du kannst mir auf Twitter, GitHub oder YouTube folgen.

Tool herunterladen
NameBeschreibungErforderlich
hub_urlURL der Ziel-Hub-Instanz✅
issuerSAML-Aussteller✅
acs_urlAssertion Consumer Service URL✅
youtrack_urlURL der mit dem Hub verbundenen YouTrack-Instanz (erforderlich, wenn der Gastbenutzer deaktiviert ist)❔