Мир: Критическая уязвимость в Magento ставит под угрозу 200 тыс. интернет-магазинов

2

Специалисты компании DefenseCode предупреждают о серьезной уязвимости в популярной версии открытой платформы для организации электронной коммерции Magento Community Edition. Проблема позволяет удаленно выполнить произвольный код и полностью скомпрометировать систему, включая базу данных, содержащую конфиденциальные сведения клиентов, в том числе номера кредитных карт и другую платежную информацию.

Уязвимость затрагивает версии Magento Community Edition 2.1.6 и ниже. Исследователи проинформировали разработчика о проблеме еще в ноябре 2016 года. С тех пор компания выпустила четыре обновления, однако так и не исправила уязвимость. В настоящее время специалистам неизвестно о случаях эксплуатации данной проблемы, но, учитывая, сколько времени она остается неисправленной, риск достаточно высок. По словам экспертов, уязвимость может также затрагивать коммерческую версию Magento Enterprise, поскольку в основе обеих платформ лежит один и тот же уязвимый исходный код.


Проблема связана с функцией Magento Community Edition, позволяющей администраторам добавлять видеоролики Vimeo в описания продуктов, а точнее изображение-preview со ссылкой на само видео. В случае, когда web-адрес изображения указывает на другой файл (например, PHP), приложение ответит сообщением об ошибке, но, тем не менее, загрузит его для проверки. Если файл не является изображением, приложение выдаст предупреждение о неверном формате файла, однако не удалит его.

Для выполнения произвольного кода злоумышленник должен сначала загрузить конфигурационный файл .htaccess, разрешающий запускать PHP, и, собственно вредоносный PHP-скрипт.

Данная уязвимость не может быть проэксплуатирована напрямую, так как функция подключения видео требует аутентификации (опция “Add Secret Key to URLs” активирована по умолчанию). Злоумышленнику нужно иметь учетную запись на атакуемом сайте, причем для взлома права администратора не обязательны, обычной регистрации с низкими привилегиями будет достаточно. (DefenseCode/NovostIT)