IPBUF安全漏洞报告
English
CVE-2026-41650 CVSS 6.1 中危

CVE-2026-41650 fast-xml-parser XML注入漏洞

披露日期: 2026-05-07

漏洞信息

漏洞编号
CVE-2026-41650
漏洞类型
XML注入
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
fast-xml-parser

相关标签

XML注入XSSfast-xml-parserCVE-2026-41650数据篡改

漏洞概述

fast-xml-parser在5.7.0之前的版本中存在XML注入漏洞。当使用XMLBuilder从JavaScript对象构建XML时,该组件未能正确转义注释内容中的“-->”序列或CDATA部分中的“]]>”序列。攻击者可利用此漏洞,通过将恶意数据注入到受控的注释或CDATA元素中,触发XML注入攻击,进而可能导致跨站脚本攻击(XSS)、SOAP注入或数据篡改。

技术细节

该漏洞源于fast-xml-parser库的XMLBuilder组件在构建XML文档时缺乏适当的输出编码。在XML规范中,注释节点不能包含“-->”字符串,CDATA部分不能包含“]]>”字符串。在受影响版本中,如果应用程序使用该库将未经过滤的用户输入转换为XML,并将这些输入放置在注释或CDATA字段中,攻击者可以构造包含上述特定序列的恶意载荷。例如,在注释字段中输入包含“-->”的字符串,构建器会将其原样输出,导致注释提前闭合,从而注入额外的XML标签。这种破坏XML结构的方式可能导致解析端的数据完整性受损,若该XML被用于Web渲染或SOAP协议传输,将进一步导致XSS或服务端逻辑错误等安全风险。

攻击链分析

STEP 1
1. 侦察
攻击者识别目标应用使用了fast-xml-parser库且版本低于5.7.0,并定位到接受用户输入并生成XML的接口。
STEP 2
2. 制作Payload
攻击者构造包含特定XML终止序列(如注释中的“-->”或CDATA中的“]]>”)的恶意数据,旨在跳出原始XML节点结构。
STEP 3
3. 注入Payload
攻击者将恶意数据发送给目标应用,应用将其作为注释或CDATA内容的一部分通过XMLBuilder进行处理。
STEP 4
4. 执行注入
由于缺乏转义,XMLBuilder生成了结构被篡改的XML文档,恶意代码被注入到文档流中。
STEP 5
5. 触发影响
下游解析器解析被篡改的XML,根据上下文可能执行XSS攻击、篡改SOAP消息或导致数据处理异常。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
const { XMLBuilder } = require('fast-xml-parser'); // Vulnerable version < 5.7.0 // Malicious input containing the closing sequence for comments const maliciousInput = "This is a comment --> <script>alert('XSS')</script> <!"; const data = { root: { comment: maliciousInput } }; const builder = new XMLBuilder(); const xmlOutput = builder.build(data); console.log(xmlOutput); // Output will be: <root><!--This is a comment --> <script>alert('XSS')</script> <!--></root>

影响范围

fast-xml-parser < 5.7.0

防御指南

临时缓解措施
在未升级版本前,开发者应在将数据传递给XMLBuilder之前,手动过滤用户输入,删除或替换“-->”和“]]>”等特殊序列,或者仅允许通过白名单的字符。

参考链接

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