CVE-2026-110813 — ACF < 6.8.11 unauth stored XSS via field definition, fix 6.8.11
Суть
Stored XSS: до 6.8.11 ACF неверно санитизировал stored field definition, изменяемый через comment handling / custom values у Checkbox, Radio, Select («Save Custom Values»). Unauth мог внедрить значение, которое уходит в имя HTML-атрибута и исполняется как JS у visitor или admin на странице с полем. CVSS 7.5 (CNA WPScan, v3.1).
Тот же релиз 6.8.11 закрывает связанные низкие CVE (Contributor+): CVE-2026-97189 (relational fields — titles/statuses чужих unpublished), CVE-2026-97190 (bidirectional sync пишет ссылку на объект без права edit), CVE-2026-97191 (не перепроверяются location rules field group при save из post editor). CVSS у всех трёх 2.7.
Затронуто и исправлено
| Компонент | Уязвимо (CNA) | Закрытие |
|---|---|---|
ACF free (advanced-custom-fields) | < 6.8.11 | ≥ 6.8.11 |
ACF PRO (advanced-custom-fields-pro) | тот же номер ветки < 6.8.11 | ≥ 6.8.11 из кабинета ACF |
wordpress.org: 2+ million Active Installations, Current Version 6.8.11. Changelog 6.8.11 (Release Date 2nd November 2026): custom choices больше не портят field settings / wrapper HTML attributes; sanitize settings для пользователей без unfiltered_html; on* в wrapper не выводятся. Disclosure (XSS / custom choices): по WPScan.
Эксплуатация
- CISA KEV — нет.
- Подтверждённых атак в ленте / changelog — нет.
- Публичный разбор PoC у WPScan отложен до 04.12.2026.
Как проверить
wp plugin get advanced-custom-fields --fields=name,status,version
wp plugin get advanced-custom-fields-pro --fields=name,status,version
# закрыто патчем: version ≥ 6.8.11 (сравнивать как semver / глазами, не строкой shell)
# Error на одном из slug = этот вариант не установлен — смотреть второй
wp plugin list --field=name | grep -i acfUI: Плагины → Advanced Custom Fields / Advanced Custom Fields PRO. Multisite — Network Admin. PRO: версию смотреть в списке плагинов / кабинете лицензии; номер должен быть ≥ 6.8.11.
Как исправить
- Staging → обновить free до ≥ 6.8.11 (
wp plugin update advanced-custom-fieldsили UI «Обновления»). PRO — официальный пакет/кабинет ACF (advanced-custom-fields-pro), не сторонние zip. Per-plugin auto-updates в WordPress по умолчанию выключены. После обновления при PHP opcache / page cache / CDN — сбросить opcache и кэш приложения. - Smoke: фронт страниц с ACF-полями; админка field groups (аномальные wrapper-атрибуты); Checkbox/Radio/Select с Save Custom Values (если используются); shortcode
[acf]/ block bindings при наличии. - Prod: бэкап БД+файлов → update → сброс opcache + page cache/CDN → smoke. При признаках прошлой XSS-компрометации админки — ротация паролей администраторов / сессий отдельно от патча.
- Массово / Bedrock / образ /
DISALLOW_FILE_MODS/ хостинг-Toolkit: UI иwp plugin updateмогут не сработать. Путь: constraint (напримерcomposer update wpackagist-plugin/advanced-custom-fields; PRO — свой пакет/кабинет, не wpackagist) → пересборка / Toolkit → выкат. На каждом стенде сверитьwp plugin get advanced-custom-fieldsи/или…-pro --fields=name,status,versionи сбросить opcache/page cache. Автообновление панели не считать закрытием без сверки версии. Не путать с сторонними плагинами «ACF Extended» и т.п. — у них свои CVE.
Если обновить нельзя
Отдельного официального hotfix кроме 6.8.11 нет. Compensating (неполная): отключить Save Custom Values у затронутых типов полей; ограничить неавторизованный ввод, влияющий на field definitions. WAF как замену патчу не обещать. Неофициальные сборки — запрещены стандартом.
Признаки взлома и что делать
IoC вендор/CNA не публиковали. Ориентир: неожиданные правки field groups / wrapper; аномальный JS на страницах с ACF; странные admin-сессии. При признаках: ≥6.8.11; сменить пароли администраторов; проверить плагины/темы/mu-plugins; сессии/ключи приложений; логи за период; одного обновления может быть мало.
Источники
- ACF changelog 6.8.11 (02.11.2026): https://www.advancedcustomfields.com/changelog/
- wordpress.org plugin page: https://wordpress.org/plugins/advanced-custom-fields/
- CVE-2026-110813 (и связанные 97189/97190/97191) — номера текстом; CVSS 7.5 / 2.7