Gravity Forms: уязвимость в загрузке файлов — уже обновляю у клиентов
Смотрел, что нового у вендоров, и увидел — у Gravity Forms вышла версия 3.0.3 с исправлением серьёзной уязвимости: неаутентифицированное загружение произвольных файлов через путаницу в хэшах состояния. Она затрагивает все версии до 3.0.2, включая те, что используются на сотнях тысяч сайтов. Уязвимость позволяет злоумышленнику, не имея доступа к админке, загружать файлы с расширением .php или .html в публичную директорию временных загрузок, если на сайте есть форма с полем загрузки нескольких файлов. При определённой настройке сервера (например, NGINX) это может привести к выполнению произвольн
Считаю, что это не просто «ещё одна уязвимость» — это типичный пример, как слабость в логике хэширования может привести к критическому риску. Особенно тревожит, что уязвимость не требует аутентификации и работает на десятках тысяч сайтов, где админы не знают, что включили загрузку файлов. На мой взгляд, важнее не просто обновить, а проверить, где у клиентов есть формы с такой настройкой.
А вот с тем, что это «всё равно не страшно» — не согласен. Даже если на сервере .htaccess блокирует PHP, вредоносный HTML-файл всё равно может быть использован для XSS. А если сайт уже заражён — это лёгкий путь для установки бэкдора. И да, даже если у вас нет формы с загрузкой — проверить стоит. Уязвимость в плагине, а он может быть подключён даже в скрытых местах.
Я уже начал проверять у клиентов: у кого установлен Gravity Forms, кто использует публичные формы с загрузкой нескольких файлов. У тех, у кого версия ниже 3.0.3, обновляю сейчас. У остальных — поставил в план на неделю. Никаких «всё нормально» — если есть уязвимость, она может быть найдена за час. Лучше закрыть заранее, чем чинить после.