IPBUF安全漏洞报告
English
CVE-2025-66470 CVSS 6.1 中危

CVE-2025-66470 NiceGUI ui.interactive_image XSS漏洞

披露日期: 2025-12-09

漏洞信息

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

相关标签

XSS跨站脚本攻击NiceGUIVueSVG注入前端漏洞存储型XSSCVE-2025-66470

漏洞概述

NiceGUI是一个基于Python的UI框架,在3.3.1及以下版本中存在存储型跨站脚本攻击(XSS)漏洞。该漏洞存在于ui.interactive_image组件中,该组件使用Vue的v-html指令渲染SVG内容时未进行任何消毒处理。攻击者可以通过SVG的<foreignObject>标签注入恶意HTML或JavaScript代码。当应用程序显示用户生成的内容或注释时,攻击者可以利用此漏洞对其他用户发起攻击。此漏洞对于托管仪表板或多用户应用程序的环境尤其危险,攻击成功可能导致窃取用户会话、凭据或执行恶意操作。

技术细节

漏洞根源在于NiceGUI的ui.interactive_image组件在渲染SVG内容时,直接使用了Vue的v-html指令而没有对内容进行HTML实体化或消毒处理。Vue的v-html指令会将字符串内容作为原始HTML插入到DOM中,这使得攻击者可以通过在SVG中嵌入<foreignObject>标签来注入任意HTML或JavaScript代码。当用户访问包含恶意SVG内容的页面时,攻击者注入的脚本将在受害者浏览器中执行。攻击者可以利用此漏洞执行各种客户端攻击,包括但不限于:窃取Cookie和会话信息、劫持用户操作、修改页面内容显示钓鱼信息、或将用户重定向到恶意网站。由于该组件常用于显示图片预览或交互式内容,攻击面相对较大。

攻击链分析

STEP 1
步骤1
攻击者识别目标应用中使用NiceGUI ui.interactive_image组件的端点
STEP 2
步骤2
攻击者构造包含<foreignObject>标签的恶意SVG内容,其中嵌入JavaScript代码
STEP 3
步骤3
攻击者将恶意SVG内容注入到应用的数据源中(如用户输入、数据库或API响应)
STEP 4
步骤4
当受害者访问包含恶意SVG的页面时,ui.interactive_image组件使用v-html渲染SVG
STEP 5
步骤5
浏览器解析SVG并将foreignObject中的HTML内容插入DOM,触发JavaScript执行
STEP 6
步骤6
攻击者成功窃取用户Cookie、会话令牌或执行其他恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
from nicegui import ui # Malicious SVG payload demonstrating XSS via foreignObject malicious_svg = ''' <svg xmlns="http://www.w3.org/2000/svg" width="300" height="200"> <foreignObject width="100%" height="100%"> <div xmlns="http://www.w3.org/1999/xhtml"> <script>alert(document.cookie)</script> <img src="x" onerror="alert(document.cookie)"/> </div> </foreignObject> </svg> ''' @ui.page('/') def main(): # Vulnerable: Renders SVG content without sanitization ui.interactive_image( svg_content=malicious_svg, content_width=300, content_height=200 ) ui.run()

影响范围

NiceGUI <= 3.3.1

防御指南

临时缓解措施
如果无法立即升级,可临时禁用ui.interactive_image组件的用户输入功能,对所有传入的SVG内容进行手动HTML消毒处理,使用DOMPurify或类似库清理可能包含<foreignObject>标签的内容,并实施严格的内容安全策略(CSP)头部以减轻XSS风险。

参考链接

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