Плагин WordPress для защиты от спама с более чем 60 000 установок исправил уязвимость внедрения объектов PHP, которая возникла из-за неправильной санации входных данных, что впоследствии позволило пользователю вводить данные в кодировке base64.
Внедрение объекта PHP без аутентификации
В популярной программе Stop Spammers Security обнаружена уязвимость | Плагин Block Spam Users, Comments, Forms для WordPress.
Цель плагина — остановить спам в комментариях, формах и регистрациях. Он может останавливать спам-ботов и позволяет пользователям вводить IP-адреса для блокировки.
Это обязательная практика для любого плагина или формы WordPress, которая принимает пользовательский ввод, чтобы разрешать только определенные входные данные, такие как текст, изображения, адреса электронной почты, любой ожидаемый ввод.
Неожиданные входные данные должны быть отфильтрованы. Этот процесс фильтрации, который не пропускает нежелательные входные данные, называется санитарная обработка.
Например, контактная форма должна иметь функцию, которая проверяет отправленные данные и блокирует (дезинфицирует) все, что не является текстом.
Уязвимость, обнаруженная в плагине для защиты от спама, позволяла закодировать входные данные (в кодировке base64), которые затем могут вызвать тип уязвимости, называемый уязвимостью внедрения объекта PHP.
Описание уязвимости опубликовано на веб-сайте WPScan проблема описана так:
«Плагин передает пользовательский ввод в кодировке base64 функции unserialize() PHP, когда CAPTCHA используется в качестве второго вызова, что может привести к внедрению объекта PHP, если плагин, установленный в блоге, имеет подходящую цепочку гаджетов…»
Классификация уязвимости Небезопасная десериализация.
Некоммерческий проект Open Web Application Security Project (OWASP) описывает потенциальное влияние уязвимостей такого типа как серьезное, которое может быть или не быть характерным для этой уязвимости.
описание в ОВАСП:
«Влияние недостатков десериализации невозможно переоценить. Эти недостатки могут привести к атакам с удаленным выполнением кода, одной из самых серьезных возможных атак.
Воздействие на бизнес зависит от потребностей защиты приложений и данных».
Но OWASP также отмечает, что эксплуатация такого рода уязвимостей, как правило, затруднена:
«Использование десериализации несколько затруднено, поскольку готовые эксплойты редко работают без изменений или настроек основного кода эксплойта».
Уязвимость в плагине Stop Spammers Security для WordPress была исправлена в версии 2022.6.
Официальный Журнал изменений безопасности Stop Spammers (описание с датами различных обновлений) отмечает исправление как улучшение безопасности.
Пользователям подключаемого модуля Stop Spam Security следует рассмотреть возможность обновления до последней версии, чтобы предотвратить использование подключаемого модуля хакерами.
Прочтите официальное уведомление в Национальной базе данных уязвимостей правительства США:
Прочитайте публикацию WPScan о подробностях, связанных с этой уязвимостью:
Stop Spammers Security < 2022.6 – Внедрение объекта PHP без проверки подлинности
Избранное изображение Shutterstock/Luis Molinero