Плагин Database for CF7 для WordPress уязвим к сохраненным межсайтовым сценариям через значения полей формы массива во всех версиях до 1.2.6 включительно из-за недостаточной очистки ввода и экранирования вывода. Это позволяет неаутентифицированным злоумышленникам внедрять произвольные веб-скрипты на страницы, которые будут выполняться всякий раз, когда пользователь обращается к внедренной странице. Это может быть использовано злоумышленниками, не прошедшими проверку подлинности, поскольку контактная форма 7 принимает входные данные в виде массива для обычных текстовых полей (например, ваше имя[]) через общедоступную конечную точку REST API /wp-json/contact-form-7/v1/contact-forms/{id}/feedback, а плагин сохраняет отправленные данные с помощью $wpdb INSERT с сериализацией() в пользовательскую таблицу wp_cf7db, минуя Фильтрация WordPress для экономии времени через wp_insert_post/wp_kses.
Показать оригинальное описание (EN)
The Database for CF7 plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Array Form Field Values in all versions up to, and including, 1.2.6 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This is exploitable by unauthenticated attackers because Contact Form 7 accepts array-structured input for ordinary text fields (e.g., your-name[]) via the public REST API endpoint /wp-json/contact-form-7/v1/contact-forms/{id}/feedback, and the plugin stores submitted data using $wpdb INSERT with serialize() into a custom wp_cf7db table, bypassing WordPress save-time filtering via wp_insert_post/wp_kses.
Характеристики атаки
Последствия
Строка CVSS v3.1