CVE-2026-124427…430 — Craft CMS 5.x < 5.11.5 (GraphQL scope, CP RCE, registration PE); fix ≥5.11.5 / 5.12.x
Суть
Пакет раскрытий EUVD 08.11.2026 (вендорские advisories пакета — 23.10.2026; смежные — 02.11.2026):
| CVE | Тип (кратко) | Нижняя граница | Условие | CVSS (EUVD v4) |
|---|---|---|---|---|
| CVE-2026-124427 | GraphQL authorization bypass — чтение вне схемы | ≥5.0.0, <5.11.2 | anon + публичная схема | 9.3 |
| CVE-2026-124428 | Arbitrary file read из CP | ≥5.7.0, <5.11.2 | authenticated CP | 7.1 |
| CVE-2026-124429 | PE через публичную регистрацию (reclaim deactivated non-admin) | ≥5.0.0, <5.11.2 | public registration, email verify off | 8.7 |
| CVE-2026-124430 | RCE для non-admin CP user | ≥5.10.0, <5.11.2 | authenticated CP (not necessarily admin) | 8.7 |
Смежные официальные advisories того же окна: RCE, связанный с обработкой image transforms (patched 5.11.4); authenticated SQLi (patched 5.11.5). Четыре CVE EUVD закрыты уже в 5.11.2 (релиз 17.09.2026); пол 5.11.5 нужен из‑за смежных advisories. Детали эксплуатации и PoC не публикуем.
Затронуто и исправлено
| Компонент | Уязвимо для действия | Закрытие |
|---|---|---|
craftcms/cms 5.x | любая < 5.11.5 | ≥ 5.11.5, предпочтительно 5.12.0.1+ |
Не смешивать с 6.0.0-alpha.*. Смотреть constraint в composer.json / composer.lock.
Эксплуатация
- CISA KEV — нет.
- Подтверждённых атак в ленте / releases — нет.
Как проверить
composer show craftcms/cms
# сверить также версию в composer.lock на каждом стендеВ CP: Utilities → System Report (рус.: «Системный отчёт»). Нет пункта Utilities — смотреть lock / спросить админа. Закрыто при ≥ 5.11.5 (semver).
Дополнительно по поверхности: публичный GraphQL; users.allowPublicRegistration + требование подтверждения email; доступность CP из интернета; число не-админ пользователей CP.
Как исправить
- Staging: бэкап БД+файлов+
.env. Пути обновления:- CP Utilities → Updates, если
allowUpdatesиallowAdminChangesпозволяют; - иначе bump constraint (
^5.11.5/^5.12.0, не pin на старую точную) →composer update craftcms/cmsилиphp craft update craft→ сноваcomposer show/ System Report.
- CP Utilities → Updates, если
- Миграции / project-config apply по runbook; сброс кэшей: Utilities → Caches или
php craft clear-caches/all. - Smoke: фронт, логин CP, критичные плагины, GraphQL-схемы, формы регистрации.
- Prod: тот же путь через pipeline. Docker/DDEV: обновить lock на CI/staging, пересобрать образ /
composer install --no-devпо новому lock на все реплики; неcomposer updateвнутри prod-контейнера «на живую». Автопатчей у Craft нет: на prod частоallowAdminChanges=false— патч только через lock → install →php craft up. - После перехода на 5.12.x: не включать public MCP без нужды; сверить GraphQL schemas/endpoints и plugin constraints.
Если обновить нельзя
Отдельного hotfix кроме обновления ядра нет. Compensating (неполная; для части сценариев <5.11.2 не закрывает поверхность полностью — полная мера только ядро ≥5.11.5):
- отключить публичную регистрацию или включить проверку email;
- сузить/отключить публичные GraphQL schemas; не держать лишние directives на недоверенном контенте;
- ограничить доступ к CP (VPN / IP allowlist / отдельный hostname);
allowAdminChanges=falseна prod — гигиена, не фикс CVE;- WAF как замену патчу не обещать.
Признаки взлома и что делать
IoC вендор не публиковал. Ориентир: неожиданные пользователи/прямые permissions; аномальный GraphQL traffic; странная активность low-priv CP; неожиданные файлы в webroot/storage. При подозрении: обновить ядро; ротация credentials/сессий; аудит плагинов и логов; одного обновления может быть мало.
Источники
- CVE-2026-124427 … CVE-2026-124430 — номера текстом; CVSS EUVD v4
- Актуальную сборку ядра берите штатным обновлением проекта (Utilities → Updates / Composer). Ссылки на security advisories, KB с примерами запросов и агрегаторы CVE в публикацию не ставим