IPBUF安全漏洞报告
English
CVE-2026-9673 CVSS 6.8 中危

CVE-2026-9673 json-2-csv CSV注入漏洞

披露日期: 2026-05-28

漏洞信息

漏洞编号
CVE-2026-9673
漏洞类型
CSV注入
CVSS评分
6.8 中危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
json-2-csv

相关标签

CSV注入json-2-csvNode.jsBypassRCE

漏洞概述

json-2-csv 库在 3.15.0 至 5.5.11 之前的版本中存在 CSV 注入漏洞。尽管启用了 preventCsvInjection 选项,攻击者仍可绕过防护机制注入恶意公式。当用户在电子表格软件中打开生成的 CSV 文件时,恶意代码将被执行,可能导致数据泄露或系统受损。

技术细节

该漏洞源于 json-2-csv 库的 CSV 注入防护过滤器存在逻辑缺陷。虽然库提供了 preventCsvInjection 选项试图通过转义或移除特定字符(如 =, +, -, @)来防止注入,但该机制可被绕过。攻击者可以构造特殊的 Payload 欺骗过滤器,使其保留恶意公式。由于 CSV 是纯文本格式,Excel 等电子表格软件在打开时会自动解析以这些字符开头的内容为公式。攻击向量为本地(AV:L),通常需要诱导用户打开文件。一旦打开,公式即可执行,导致读取本地文件(高机密性影响)或修改数据(低完整性影响)。

攻击链分析

STEP 1
1. 识别目标
攻击者确认目标应用使用了存在漏洞的 json-2-csv 版本(3.15.0 至 5.5.11)。
STEP 2
2. 注入 Payload
攻击者向应用输入经过特殊构造的数据,包含能够绕过 preventCsvInjection 检查的恶意公式。
STEP 3
3. 生成恶意文件
应用使用 json-2-csv 库将数据转换为 CSV 文件,由于防护被绕过,恶意公式未被转义。
STEP 4
4. 诱导执行
攻击者诱导受害者下载并在电子表格软件(如 Excel)中打开该 CSV 文件。
STEP 5
5. 漏洞利用
电子表格软件解析并执行文件中的恶意公式,导致敏感信息泄露或数据被修改。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
const json2csv = require('json-2-csv'); // Payload demonstrating the bypass const maliciousData = [ { id: 1, name: 'Product', details: '=HYPERLINK("http://evil.com", "Click Me")' // Malicious formula } ]; const options = { preventCsvInjection: true // This option is vulnerable to bypass }; try { const csv = json2csv.json2csv(maliciousData, options); console.log('Generated CSV:'); console.log(csv); // In vulnerable versions, the formula persists and executes in Excel. } catch (e) { console.error(e); }

影响范围

json-2-csv >= 3.15.0, < 5.5.11

防御指南

临时缓解措施
如果不能立即升级,建议在代码层面手动处理 CSV 输出,例如在所有字段前添加制表符(Tab)以强制 Excel 将其识别为文本,或者实施更严格的正则表达式过滤机制,拦截所有以公式起始字符开头的内容。

参考链接

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