IPBUF安全漏洞报告
English
CVE-2026-1116 CVSS 6.1 中危

CVE-2026-1116 parisneo/lollms存储型XSS漏洞

披露日期: 2026-04-12

漏洞信息

漏洞编号
CVE-2026-1116
漏洞类型
XSS
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
parisneo/lollms

相关标签

XSSparisneo/lollmsCWE-79Web SecurityStored XSS

漏洞概述

CVE-2026-1116是parisneo/lollms组件中的一个安全漏洞。该漏洞源于`AppLollmsMessage`类的`from_dict`方法在处理用户提供的反序列化数据时,未对`content`字段进行有效的清理或HTML编码。攻击者可利用此缺陷注入恶意HTML或JavaScript代码,并在受害者的浏览器上下文中执行。成功利用可能导致账户劫持、会话窃取或蠕虫式攻击,影响用户数据的机密性和完整性。

技术细节

该漏洞位于`parisneo/lollms`项目的`AppLollmsMessage`类中。核心问题在于`from_dict`方法在执行反序列化操作时,直接将外部输入字典中的`content`字段值赋值给对象属性,完全跳过了必要的安全清理步骤(如HTML实体编码)。由于该应用随后会将这些内容渲染到Web前端,且未在输出上下文中进行适当的上下文感知编码,攻击者可以嵌入恶意的HTML标签或JavaScript事件处理器。例如,通过构造包含`<script>`或`onload`属性的载荷,当受害者浏览包含该消息的页面时,载荷将在受害者的浏览器沙箱中执行。考虑到CVSS评分为6.1且无需认证,攻击者可轻易利用此漏洞窃取Session ID、执行未授权操作或进行钓鱼攻击。

攻击链分析

STEP 1
侦察
攻击者识别出目标正在使用parisneo/lollms且版本低于2.2.0。
STEP 2
武器化
攻击者构造包含恶意JavaScript或HTML标签的Payload,针对`content`字段。
STEP 3
交付
攻击者通过应用接口发送特制的恶意字典数据,该数据会被`from_dict`方法处理。
STEP 4
利用
当受害者访问显示该内容的页面时,未经过滤的恶意代码在浏览器中执行。
STEP 5
影响
攻击者利用执行脚本窃取Cookie或Session,实现账户劫持。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-1116 # Simulating the vulnerable deserialization in parisneo/lollms import json class AppLollmsMessage: def __init__(self, role, content): self.role = role self.content = content @classmethod def from_dict(cls, data): # Vulnerable implementation: no sanitization of 'content' return cls(data.get('role'), data.get('content')) def render(self): # Vulnerable rendering: direct output to HTML return f"<div class='message'>{self.content}</div>" # Malicious payload containing JavaScript payload = '<img src=x onerror=alert(document.cookie)>' # Attacker crafted data malicious_dict = { "role": "user", "content": payload } # Exploitation: Deserializing the malicious data msg = AppLollmsMessage.from_dict(malicious_dict) # Output the rendered HTML (simulating what the victim sees) print("Rendered Output:") print(msg.render())

影响范围

parisneo/lollms < 2.2.0

防御指南

临时缓解措施
在未升级版本的情况下,开发人员应在渲染`AppLollmsMessage`对象的内容之前,手动实施严格的输出编码机制,确保所有动态内容在插入DOM前已被转义,防止浏览器将其解析为可执行代码。

参考链接

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