漏洞详情
包管理器: pip 受影响包: nicegui (pip) 受影响版本: <= 3.3.1 已修复版本: 3.4.0
描述
概述
NiceGUI(3.3.1及更早版本)的 ui.interactive_image 组件中存在一个跨站脚本(XSS)漏洞。该组件使用Vue的 v-html 指令渲染SVG内容,但未进行任何净化处理。这使得攻击者可以通过SVG的 <foreignObject> 标签注入恶意的HTML或JavaScript。
详情
该漏洞位于 nicegui/elements/interactive_image.js 文件中。
组件使用以下代码渲染内容:
|
|
Vue的 v-html 指令将原始HTML字符串渲染到DOM中。如果应用程序允许将用户控制的输入传递给交互式图像的 content 属性,攻击者可以嵌入包含恶意脚本的 <foreignObject> 标签,从而绕过典型的图像限制。
概念验证(PoC)
|
|
影响
- 类型: 反射型 / 存储型 XSS(取决于数据来源)
- 严重性: 中等
- 影响: 攻击者可以注入恶意脚本,这些脚本会在图像组件被渲染或更新时执行。这对于显示用户生成内容或注释的仪表板或多用户应用程序尤其危险。
参考
- GHSA-2m4f-cg75-76w2
- zauberzeug/nicegui 提交记录:58ad0b3
安全评分与信息
CVSS 总体评分: 6.1(中等)
CVSS v3 基本指标向量:
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
- 攻击向量(AV): 网络
- 攻击复杂度(AC): 低
- 所需权限(PR): 无
- 用户交互(UI): 需要
- 范围(S): 已改变
- 保密性影响(C): 低
- 完整性影响(I): 低
- 可用性影响(A): 无
弱点(CWE):
- CWE-79: 在网页生成过程中对输入的不当净化(跨站脚本)
标识符:
- CVE ID: CVE-2025-66470
- GHSA ID: GHSA-2m4f-cg75-76w2
源代码仓库: zauberzeug/nicegui
致谢:
- 报告者: twmoon
- 修复开发者: evnchn
- 修复审核者: falkoschindler