WP File Download: любой подписчик может удалить файлы на сервере. Обновитесь до 6.3.5

Если на сайте стоит платный WP File Download от JoomUnited версии 6.3.4 или ниже, любой зарегистрированный пользователь, даже подписчик, может удалить произвольный файл на сервере. Дыра получила номер CVE-2026-14982, Wordfence ставит 8.1 и называет патчем 6.3.5. Запись в NVD от 2 сентября 2026.

Суть: аутентифицированный пользователь с ролью subscriber и выше может удалить произвольный файл на сервере. Wordfence ставит CVSS 3.1 8.1 (High). Патч Wordfence называет прямо: 6.3.5 или новее. Плагин платный, в каталоге wordpress.org slug wp-file-download не находится. Обновление: кабинет JoomUnited, не wp plugin update из .org.

Коротко: одна карточка 1 и 2 сентября

  • CVE-2026-14982, WP File Download (slug wp-file-download) <= 6.3.4. Произвольное удаление файла из-под subscriber: path traversal через параметр remoteurl, два шага file.save и file.delete, без проверки прав и nonce. Wordfence: CVSS 3.1 8.1. Патч по Wordfence: 6.3.5.

Почему это важно на практике

NVD 2 сентября ещё в статусе Received: своей оценки NIST нет, балл от CNA Wordfence. Для админа важны slug, уязвимая версия и наличие патча, а не ожидание балла NIST.

Это не загрузка PHP в uploads. Это удаление. Wordfence прямо пишет, что при удалении нужного файла (пример в advisory: wp-config.php) из этого легко получается удалённое выполнение кода. На практике: без wp-config.php WordPress показывает установщик. Кто первым его пройдёт, тот задаёт базу и администратора. Обновление плагина само удалённый конфиг не возвращает.

Роль нужна низкая: subscriber. Если на сайте открыта регистрация, это почти тот же класс, что «без логина», только с одним лишним шагом: создать учётку. Отдельного подтверждения массовой эксплуатации именно этой CVE в карточках NVD и Wordfence на 2 сентября 2026 нет.

CVE-2026-14982: WP File Download, subscriber удаляет файлы

Карточка NVD опубликована 2 сентября 2026, источник Wordfence. Публикация в Wordfence Intelligence: 1 сентября 2026, 13:55 UTC, последнее обновление: 2 сентября, 02:26 UTC. Заголовок Wordfence: Authenticated (Subscriber+) Arbitrary File Deletion via remoteurl Parameter. CWE-22 (Path Traversal). Исследователь: 0xd4rk5id3, EnvoraSec. Вендор в NVD и CVE.org: JoomUnited. Продукт: WP File Download, затронуты версии с 0 до 6.3.4 включительно.

Оценка одна, от CNA Wordfence: CVSS 3.1 8.1, вектор AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H. Сеть, низкая сложность, нужны низкие привилегии, без клика жертвы. Конфиденциальность в векторе N: это не чтение чужих файлов, а целостность и доступность. NIST 3.x на 2 сентября не выставил.

Текст описания в NVD говорит «in all versions». Смотреть нужно не эту фразу, а блок Affected Products и запись CVE.org: semver до 6.3.4 включительно, для остальных версий defaultStatus: unaffected. Wordfence сужает так же: Affected Version <= 6.3.4.

Механизм из advisory, не из разбора эксплойта. Недостаточная проверка пути в функции удаления. Два этапа: первый запрос к задаче file.save записывает строку с обходом каталога в метаданные файла, второй запрос к file.delete вызывает unlink. Оба эндпоинта без проверки прав (capability) и без nonce. Точка входа в заголовке Wordfence: параметр remoteurl. Рабочий payload в статью не входит.

Патч: Wordfence называет 6.3.5, changelog вендора эту CVE не пишет

Патч Wordfence называет прямо: обновить до 6.3.5 или новее. В записи CVE.org поля solutions нет, NVD отдельной «fixed version» в блоке метрик не ставит. Ориентир по исправленной версии: карточка Wordfence, не догадка.

На changelog WP File Download на 2 сентября 2026 стоит пометка Last update: 25 Aug 2026, верхняя версия в списке: 6.3.8, совместимость с WordPress 7.1. Пункт 6.3.5 в этом changelog: ZIP-архив категории, тег расположения файла в письмах, правки уведомлений, поиска и PHP warnings. Номера CVE и формулировки про path traversal или произвольное удаление файла там нет. В 6.3.7 вендор пишет «Fix Security: XSS vulnerability»: это другая правка, не эта CVE. Текущая линейка на странице changelog: 6.3.8. Для админа минимум по Wordfence это 6.3.5, разумный ориентир с витрины вендора: не ниже текущей 6.3.8.

Страница плагина в каталоге wordpress.org по slug wp-file-download отвечает поиском, API wordpress.org: Plugin not found. Это коммерческий пакет с витрины JoomUnited, не соседний бесплатный файловый менеджер вроде WP File Manager. Другой slug, другая карточка.

Что проверить WP-CLI

Команды для сервера, где есть WP-CLI, из каталога сайта или с --path=. Перед обновлением: копия файлов и базы. Плагин платный, wp plugin update wp-file-download из каталога wordpress.org его не подтянет.

Есть ли slug и какая версия:

wp plugin list --fields=name,status,version | grep -Ei 'wp-file-download|wpfd'
wp plugin get wp-file-download --field=version

Ориентиры по источникам, не по догадке:

  • wp-file-download: всё <= 6.3.4 уязвимо (NVD, CVE.org, Wordfence);
  • цель по Wordfence: 6.3.5 или новее;
  • на changelog JoomUnited 25.08.2026 верхняя строка: 6.3.8.

Если grep ничего не показал, эта CVE к сайту не относится. Не обновляйте «на всякий случай» WP File Manager, Download Monitor или другой менеджер файлов с похожим названием. Если slug на месте, пакет берётся из кабинета JoomUnited / встроенного updater вендора, затем снова wp plugin get wp-file-download --field=version.

Пользователи, регистрация, wp-config и uploads

Атака требует учётку не ниже subscriber. Имеет смысл увидеть, открыта ли регистрация, сколько подписчиков и нет ли лишних администраторов. Команды только читают списки:

wp option get users_can_register
wp user list --role=subscriber --fields=ID,user_login,user_email,user_registered,roles --format=table
wp user list --role=administrator --fields=ID,user_login,user_email,user_registered,roles
wp user list --fields=ID,user_login,user_email,user_registered,roles --format=table

Ищите почту «мимо» организации, дату регистрации после включения уязвимой версии, лишнюю роль administrator, всплеск subscriber на сайте, где регистрация обычно закрыта. Пароли через WP-CLI не печатайте.

Эта CVE про удаление, не про загрузку файла. Первым делом: на месте ли wp-config.php. Команда ничего не удаляет:

test -f wp-config.php && echo 'wp-config.php на месте' || echo 'wp-config.php отсутствует'
ls -la wp-config.php

Если файла нет или сайт отвечает мастером установки WordPress, не проходите установщик. Восстановление из резервной копии, смена пароля базы и учёток хостинга, проверка администраторов. Обновление до 6.3.5 чужой инсталлер и удалённый конфиг само не лечит.

Загрузка файла в этой карточке не заявлена. PHP в uploads всё равно стоит пройти: если wp-config.php уже снимали, дальше мог появиться чужой скрипт. Ничего не удаляет, только показывает:

find wp-content -type f \( -name '*.php' -o -name '*.phtml' -o -name '*.phar' \) 2>/dev/null | grep -Ei 'uploads|cache|mu-plugins'
find wp-content/uploads -type f \( -name '*.php' -o -name '*.phtml' -o -name '*.phar' -o -name '*.shtml' \) 2>/dev/null

Если такой файл есть в uploads, не открывайте его в браузере. Копия для разбора, убрать из web-root, сменить пароли admin и хостинга, проверить mu-plugins, functions.php активной темы и cron.

Маркеры в access-логе nginx (путь к логу свой). Это не доказательство взлома, а способ понять, стучались ли:

sudo grep -Ei 'file\.save|file\.delete|remoteurl|wp-file-download|wpfd' /var/log/nginx/access.log | tail -n 200

Где обычно ломается реакция

  • Путают slug wp-file-download с WP File Manager, File Manager Advanced или Download Monitor. К этой CVE относится пакет JoomUnited.
  • Ждут пакет в wordpress.org и крутят wp plugin update. Плагина там нет, нужен кабинет вендора.
  • Читают changelog 6.3.5 (ZIP, письма, поиск) и решают, что «раз про security не написано, патча нет». Wordfence чинит это в 6.3.5. XSS в 6.3.7: другая строка.
  • Ставят 6.3.5 и не смотрят, на месте ли wp-config.php: патч удалённый конфиг не возвращает.
  • Ждут оценку NIST. Для обновления её не нужно: CNA, slug и номер 6.3.5 уже есть.

Вывод

1 и 2 сентября 2026 Wordfence и NVD разложили одну плагинную CVE: WP File Download <= 6.3.4, произвольное удаление файла из-под subscriber, CVSS 3.1 8.1. NIST своей оценки ещё нет. Патч Wordfence называет 6.3.5, в каталоге wordpress.org пакета нет, на changelog JoomUnited 25.08.2026 верхняя версия 6.3.8, отдельной строки про эту CVE в 6.3.5 нет.

Рабочий минимум: сверить slug wp-file-download, обновить из кабинета вендора не ниже 6.3.5, проверить регистрацию и роли, убедиться что wp-config.php на месте. Эксплойт в статье не нужен: версия, отсутствующий конфиг и лишний administrator говорят достаточно.

Источники


Комментарии загружаются…