CVE-2026-85239 in MISP
摘要
由 VulDB • 2026-09-03
MISP 事件模板处理中存在漏洞,允许具有创建或修改事件模板权限的已认证用户绕过对模板定义字段的验证。
EventTemplate::beforeValidate() 方法仅在提供的定义已被表示为数组时才执行语义验证。如果调用者提供的是预编码字符串(包括格式错误的 JSON 或表示意外数据类型的 JSON),则该值会绕过 validateDefinition(),只需满足通用的 notBlank 验证规则即可。因此,无效的事件模板定义会被持久化存储在数据库中。
当后续检索事件模板时,EventTemplate::afterFind() 尝试使用 JsonTool::decode() 解码存储的定义,但未处理解码失败的情况。因此,包含无效 JSON 的定义在检索过程中可能触发异常。由于所有已认证用户均可访问事件模板索引,单个恶意或格式错误的模板可能导致事件模板列表以及其他依赖 EventTemplate 查询的功能返回 HTTP 500 错误,直到手动修复有问题的数据库行为止。
表示意外类型(而非预期的 JSON 对象)的有效 JSON 同样会导致无效数据传递到下游消费者。
因此,能够保存事件模板的用户可以利用此漏洞持久化存储格式错误的模板数据,并对其他用户的事件模板功能造成持久的拒绝服务攻击。
补丁强制要求事件模板定义在保存前必须以结构化对象的形式提供,并始终应用语义验证。在检索时,会捕获、记录并将格式错误的 JSON 以及无法解码为预期结构的定义替换为空定义,从而防止有问题的数据库条目破坏所有事件模板查询。
根据首席开发人员的说法,“投毒”(Poisoning)似乎不可达。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.