CVE-2026-5809

HIGH CVSS 3.1: 7,1 EPSS 0.03%
Обновлено 11 апреля 2026
WordPress
Параметр Значение
CVSS 7,1 (HIGH)
Тип уязвимости CWE-73 (Внешнее управление именем файла)
Поставщик WordPress
Публичный эксплойт Нет

Плагин wpForo Forum для WordPress уязвим к произвольному удалению файлов в версиях до 3.0.2 включительно. Это связано с ошибкой двухэтапной логики: обработчики действий theme_add() и theme_edit() принимают произвольные массивы data[*], предоставленные пользователем, из $_REQUEST и сохраняют их как постмета без ограничения того, какие поля могут содержать значения массива. Поскольку «body» включено в список разрешенных полей темы, злоумышленник может предоставить data[body][fileurl] произвольный путь к файлу (например, wp-config.php или абсолютный путь к серверу).

Этот отравленный URL-адрес файла сохраняется в специальной таблице базы данных postmeta плагина. Впоследствии, когда злоумышленник отправляет wpftcf_delete[]=body в запросе theme_edit, метод add_file() извлекает сохраненную запись postmeta, извлекает контролируемый злоумышленником URL-адрес файла, передает его через wpforo_fix_upload_dir(), который перезаписывает только законные пути загрузки wpforo и возвращает все остальные пути без изменений, а затем вызывает wp_delete_file() для непроверенного пути. Это позволяет аутентифицированным злоумышленникам с доступом на уровне подписчика и выше удалять произвольные файлы, доступные для записи процессом PHP на сервере, включая критические файлы, такие как wp-config.

Показать оригинальное описание (EN)

The wpForo Forum plugin for WordPress is vulnerable to Arbitrary File Deletion in versions up to and including 3.0.2. This is due to a two-step logic flaw: the topic_add() and topic_edit() action handlers accept arbitrary user-supplied data[*] arrays from $_REQUEST and store them as postmeta without restricting which fields may contain array values. Because 'body' is included in the allowed topic fields list, an attacker can supply data[body][fileurl] with an arbitrary file path (e.g., wp-config.php or an absolute server path). This poisoned fileurl is persisted to the plugin's custom postmeta database table. Subsequently, when the attacker submits wpftcf_delete[]=body on a topic_edit request, the add_file() method retrieves the stored postmeta record, extracts the attacker-controlled fileurl, passes it through wpforo_fix_upload_dir() which only rewrites legitimate wpforo upload paths and returns all other paths unchanged, and then calls wp_delete_file() on the unvalidated path. This makes it possible for authenticated attackers, with subscriber-level access and above, to delete arbitrary files writable by the PHP process on the server, including critical files such as wp-config.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Нужны права
Низкие
Нужны базовые права
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Низкое
Частичная утечка данных
Целостность
Нет
Нет модификации данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1

Уязвимые продукты

tomdever:wpforo forum