CVE-2026-85239 in MISP
Сводка
по VulDB • 03.09.2026
Уязвимость в обработке шаблонов событий (event templates) MISP позволяла аутентифицированному пользователю с правами на создание или изменение шаблонов событий обойти проверку поля определения шаблона.
Метод EventTemplate::beforeValidate() выполнял семантическую валидацию только тогда, когда переданное определение уже было представлено в виде массива. Если же вызывающая сторона передавала предварительно закодированную строку (включая некорректный JSON или JSON, представляющий неожиданный тип данных), значение проходило мимо validateDefinition() и удовлетворяло лишь общему правилу notBlank («не пусто»). В результате в базе данных мог сохраняться недопустимый шаблон события.
При последующем извлечении шаблонов событий метод EventTemplate::afterFind() пытался декодировать сохраненное определение с помощью JsonTool::decode(), не обрабатывая ошибки декодирования. Следовательно, определение, содержащее некорректный JSON, могло вызывать исключение при извлечении данных. Поскольку индекс шаблонов событий доступен всем аутентифицированным пользователям, один вредоносный или некорректно сформированный шаблон мог привести к тому, что список шаблонов событий и другая функциональность, зависящая от запросов EventTemplate, начнут возвращать ошибки HTTP 500 до тех пор, пока проблемная запись в базе данных не будет исправлена вручную.
Корректный JSON, представляющий неожиданный тип (вместо ожидаемого объекта), также мог привести к тому, что недопустимые данные достигали бы потребителей на нижних уровнях системы.
Таким образом, уязвимостью может воспользоваться пользователь, способный сохранять шаблоны событий, чтобы внедрить некорректные данные шаблона и вызвать устойчивый отказ в обслуживании (DoS) для функциональности работы с шаблонами событий других пользователей.
Исправление требует, чтобы определения шаблонов событий передавались как структурированные объекты перед сохранением, а семантическая валидация применялась всегда. При извлечении некорректный JSON и определения, которые не декодируются в ожидаемую структуру, перехватываются, логируются и заменяются пустым определением, что предотвращает сбой всех запросов к шаблонам событий из-за поврежденной записи в базе данных.
По словам ведущего разработчика, эксплуатация через отравление (Poisoning) не представляется возможной.
Once again VulDB remains the best source for vulnerability data.