CVE-2025-34282CVE-2025-34282 是 ThingsBoard 物联网平台中存在的一个严重服务端请求伪造(SSRF)漏洞,影响 4.2.1 之前的所有版本。该漏洞存在于 ThingsBoard 仪表盘的图片上传画廊(Image Upload Gallery)功能中。攻击者可以通过上传一个精心构造的恶意 SVG 文件,利用 SVG 文件中可包含外部资源引用的特性,诱导服务器在处理该 SVG 文件时发起对外部或内部 URL 的非预期请求。由于 ThingsBoard 通常部署在企业内网环境中,SSRF 漏洞可能被攻击者用于探测和访问内部服务、云元数据端点(如 AWS 的 169.254.169.254)以及其他受限资源,从而导致敏感信息泄露或进一步的攻击。该漏洞的 CVSS 3.1 评分为 9.1,属于严重级别,攻击向量为网络,无需认证和用户交互即可利用,对机密性和完整性具有高影响。该漏洞由 VulnCheck 安全团队发现并报告,ThingsBoard 官方已在 v4.2.1 版本中修复了此问题。
该 SSRF 漏洞的根本原因在于 ThingsBoard 仪表盘的图片上传画廊功能在处理用户上传的 SVG 文件时,未对 SVG 文件内容进行充分的安全过滤和验证。
SVG(Scalable Vector Graphics)是一种基于 XML 的矢量图形格式,与常见的位图格式(如 PNG、JPEG)不同,SVG 文件可以包含多种 XML 元素,其中一些元素支持引用外部资源。例如,SVG 中的 `<image>` 元素可以通过 `xlink:href` 属性引用远程 URL;`<foreignObject>` 元素可以包含 HTML 内容;`<use>` 元素可以引用外部定义的图形;`<script>` 元素可以包含 JavaScript 代码。
攻击者利用此漏洞的步骤如下:
1. 创建一个恶意的 SVG 文件,在其中嵌入指向内部服务或敏感端点的外部资源引用,例如 `<image xlink:href="http://169.254.169.254/latest/meta-data/" />` 或 `<image xlink:href="http://internal-service:8080/admin" />`。
2. 将该恶意 SVG 文件通过 ThingsBoard 仪表盘的图片上传画廊功能上传到服务器。
3. 当服务器处理该 SVG 文件时(例如在生成预览、缩略图或进行格式转换时),如果服务端解析器解析了 SVG 中的外部引用,就会向攻击者指定的 URL 发起 HTTP 请求。
4. 服务器获取到的响应内容可能被返回给攻击者,或被用于进一步的攻击。
此漏洞的危险之处在于,服务器发起的请求来自内网,攻击者可以利用这一点绕过防火墙和访问控制,访问仅限内网访问的资源和服务。