Qt集团近日发布重要安全公告,修复了Qt SVG模块中两个高危漏洞(分别追踪为CVE-2025-10728和CVE-2025-10729)。这两个漏洞在CVSS 4.0评分系统中均获得9.4分的高危评级,分别可导致拒绝服务(DoS)和释放后重用(use-after-free)内存破坏问题。
递归渲染导致的DoS漏洞(CVE-2025-10728)
该漏洞影响Qt 6.7.0至6.8.4版本,以及6.9.0至6.9.2版本。当渲染包含递归<pattern>
元素的恶意SVG文件时,会触发栈溢出导致拒绝服务。
Qt官方解释称:"当模块渲染包含<pattern>
元素的SVG文件时,可能陷入递归渲染循环,最终导致栈溢出型DoS攻击"。攻击者可利用此递归渲染逻辑制造无限循环,耗尽系统资源直至应用程序或主机系统崩溃。
虽然该漏洞无法直接用于代码执行,但其破坏基于Qt图形渲染软件的稳定性,对嵌入式设备和处理不可信SVG资源的用户界面框架构成严重的可靠性威胁。
更危险的释放后重用漏洞(CVE-2025-10729)
该漏洞同样影响Qt 6.7.0至6.8.4和6.9.0至6.9.2版本,但其危害性更为严重。当模块解析SVG文件中非结构节点子级的<pattern>
节点时,会出现节点创建后被删除但仍可能被后续访问的情况。
这种释放后重用漏洞可能导致未定义行为,根据内存重新分配情况甚至可能实现远程代码执行(RCE)。在SVG渲染功能暴露给不可信输入的环境中(如网页引擎、UI设计工具或文档查看器),攻击者可利用此漏洞以受影响应用程序的权限执行任意代码。
广泛影响的攻击面
Qt SVG模块广泛应用于各类软件生态系统——从KDE Plasma等桌面环境到汽车、医疗和物联网系统中的嵌入式用户界面,这使得潜在攻击面显著扩大。虽然目前尚未发现漏洞利用案例,但这些缺陷凸显了图形解析库中供应链漏洞的持续风险。由于SVG文件常用于面向用户的应用程序,甚至简单的图片上传都可能成为攻击媒介。
Qt强烈建议开发者和集成Qt SVG模块的厂商立即采取以下措施:
- 尽快升级至Qt 6.9.3或6.8.5版本
- 在系统完全打补丁前,避免渲染不可信的SVG内容
- 检查第三方依赖项,确认是否包含存在漏洞的模块
参考来源:
Qt Fixes Dual Critical Vulnerabilities (CVE-2025-10728 & CVE-2025-10729) in SVG Module
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)