Плагин Ninja Forms — построитель контактных форм, который растет вместе с вами для WordPress уязвим для общего SQL-инъекции через ключ «настроек» файла импорта во всех версиях до 3.14.9 включительно из-за недостаточного экранирования предоставленного пользователем параметра и отсутствия достаточной подготовки существующего SQL-запроса. Это позволяет злоумышленникам, прошедшим проверку подлинности, с доступом на уровне администратора и выше, добавлять дополнительные SQL-запросы к уже существующим запросам, которые можно использовать для извлечения конфиденциальной информации из базы данных. Уязвимые ключи происходят из объекта «настройки» в контролируемом злоумышленником файле импорта, обработанном с помощью file_get_contents() или больших двоичных объектов, декодированных с помощью base64/JSON, полностью обходя защиту wp_magic_quotes; Затрагиваются два отдельных приемника — _save_setting() в Model.php и Insert_form_meta() в ImportForm.php — поскольку экранируется только сторона значения, в то время как сторона ключа не получает никакой очистки или параметризации в любой точке цепочки вызовов.
Показать оригинальное описание (EN)
The Ninja Forms – The Contact Form Builder That Grows With You plugin for WordPress is vulnerable to generic SQL Injection via Import File 'settings' Key in all versions up to, and including, 3.14.9 due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. This makes it possible for authenticated attackers, with administrator-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database. The vulnerable keys originate from the 'settings' object in an attacker-controlled import file processed via file_get_contents() or base64-decoded/JSON-decoded blobs, bypassing wp_magic_quotes protections entirely; two distinct sinks are affected — _save_setting() in Model.php and insert_form_meta() in ImportForm.php — as only the value side is escaped while the key side receives no sanitization or parameterization at any point in the call chain.
Характеристики атаки
Последствия
Строка CVSS v3.1