Плагин Scheduler-Webhook Grav CMS содержит обход аутентификации при проверке токена веб-перехватчика. Если функция веб-перехватчика включена, но не настроен веб-перехватчик, составное условное замыкание и пропуск проверки токена, поэтому не прошедший проверку подлинности удаленный злоумышленник, который может получить доступ к POST /scheduler/webhook, может инициировать уже настроенные запланированные задания оператора, отправив один запрос. Примитивом является запуск существующих заданий, а не выполнение выбранной злоумышленником команды: злоумышленник контролирует, когда и какое задание запускается (с помощью ?job=), но не контролирует, что делают задания.
Выполнение кода следует только тогда, когда оператор настроил задание, которое выдает, и даже в этом случае злоумышленник контролирует время, а не полезную нагрузку. Это не проблема установки по умолчанию: для достижения конечной точки необходимо установить отдельный плагин GPM планировщика-webhook, значение Scheduler.modern.webhook.enabled должно быть true (по умолчанию false), а webhookToken не нужно настраивать; стандартная установка Grav или Grav-Admin здесь ничего не раскрывает.
Показать оригинальное описание (EN)
Grav CMS's scheduler-webhook plugin contains an authentication bypass in the webhook token check. When the webhook feature is enabled but no webhookToken is configured, a compound conditional short-circuits and skips token validation, so an unauthenticated remote attacker who can reach POST /scheduler/webhook can trigger the operator's already-configured scheduled jobs by sending a single request. The primitive is triggering-existing-jobs, not attacker-chosen command execution: the attacker controls when the jobs run and which one runs (via ?job=), but does not control what the jobs do. Code execution follows only when the operator has configured a job that shells out, and even then the attacker controls timing rather than payload. Not a default-install issue: reaching the endpoint requires the separate scheduler-webhook GPM plugin to be installed, scheduler.modern.webhook.enabled to be true (default false), and no webhookToken to be configured; a stock Grav or Grav-Admin install exposes nothing here.
Характеристики атаки
Последствия
Строка CVSS v4.0