19 сентября 2026 года в реестре CVE появилась уязвимость Gravity Forms: версии по 3.1.0.4 включительно позволяли посетителю без авторизации загружать произвольные файлы через определённую конфигурацию формы. Patchstack указывает исправление в 3.1.1. Загруженный файл при подходящих настройках сервера мог привести к выполнению кода.
Ключевое условие: публично доступная форма содержит поле File Upload, у которого Visibility установлено в Hidden. Это не утверждение о том, что любая форма Gravity Forms с любыми настройками одинаково уязвима.
Почему Hidden не защищал загрузку
CVE-2026-84434 связана с разницей между проверкой полей формы и сохранением файла. Скрытое поле загрузки обходило проверку расширения, а оставшееся состояние отклонённой загрузки позже передавалось в upload_file() без повторной проверки.
В итоге решение «этот файл нельзя принять» не гарантировало, что он не попадёт на диск. Для атаки не требовалась учётная запись WordPress, если подходящая форма была доступна снаружи.
Режим Hidden управляет отображением поля, а не заменяет серверную проверку. Убирать поле с экрана недостаточно: запрос к обработчику всё равно должен проходить корректную проверку типа файла и условий сохранения.
Обновление и проверка форм
Установите актуальную версию Gravity Forms с исправлением 3.1.1 через официальный канал разработчика. Затем найдите формы с полями загрузки, проверьте их видимость и протестируйте разрешённые и запрещённые расширения на тестовом сайте.
Если обновить плагин сразу нельзя, временно закройте доступ к затронутым формам. Дополнительный запрет исполнения PHP в каталоге загрузок уменьшает риск выполнения кода, но не устраняет ошибку сохранения файла.
При подозрении на атаку проверьте новые файлы и журналы запросов. Патч закрывает известный путь загрузки, однако не удаляет файл, который злоумышленник мог разместить раньше.
Дополнение требует отдельного обновления: ошибка Multi Uploader for Gravity Forms.