Затронутые версии MISP не обеспечивают последовательное соблюдение авторизации действующего пользователя при создании экземпляров шаблонов событий. Для шаблонов, использующих распределение = 4, шаблон может указыватьsharing_group_id. Путь создания экземпляра передал это значение в создание события без проверки того, что пользователю, создающему экземпляр шаблона, действительно разрешено использовать выбранную группу общего доступа.
В коммите отмечается, что Event::_add() выполнил только свою собственную авторизацию группы совместного использования в другом пути кода, оставляя экземпляр шаблона способным записывать идентификатор напрямую. Тот же путь создания экземпляра также прикрепляет теги, указанные в шаблоне, без проверки обычных разрешений пользователя на тегирование. Кроме того, в нем жестко запрограммировано значение local => 0, что означает, что теги с пометкой local_only могут быть прикреплены глобально и, следовательно, распространяться посредством синхронизации или экспорта, вопреки их предполагаемому ограничению.
Исправление добавляет явную авторизацию SharingGroup::canUse() для действующего пользователя, применяет те же проверки изменения тегов, которые используются при обычной маркировке событий, и гарантирует, что теги local_only прикрепляются локально. Затронутая версия: ≤2.5.45
Показать оригинальное описание (EN)
Affected versions of MISP do not consistently enforce the acting user's authorization when instantiating event templates. For templates using distribution = 4, the template can specify a sharing_group_id. The instantiation path passed that value into event creation without verifying that the user instantiating the template was actually permitted to use the selected sharing group. The commit notes that Event::_add() only performed its own sharing-group authorization in another code path, leaving template instantiation able to write the identifier directly. The same instantiation path also attached template-specified tags without checking the user's normal tagging permissions. In addition, it hardcoded local => 0, meaning tags marked local_only could be attached globally and consequently propagate through synchronization or export, contrary to their intended restriction. The fix adds explicit SharingGroup::canUse() authorization for the acting user, applies the same tag-modification checks used by normal event tagging, and ensures local_only tags are attached locally. Version affected: ≤2.5.45
Характеристики атаки
Последствия
Строка CVSS v4.0