Node.js child_process.spawn Windows命令注入漏洞
漏洞描述
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,用于构建快速、可扩展的网络应用程序。
Windows 的 CreateProcess() 函数在执行批处理文件(.bat、.cmd)时,,即使应用程序本身并没有在命令行中指定这些文件扩展名,仍会隐式地调用cmd.exe 进程。该风险在2011年已经在微软文档中提及,但仍存在多个语言实现不当。
由于Node.js 在处理 Windows 批处理文件时,未正确转义参数。攻击者可能利用该漏洞,通过传入恶意的命令行参数,使 child_process 模块在执行时不正确地处理参数,执行额外的系统命令。
非Windows环境或 Windows 上其他的命令执行方式不受影响。
| 漏洞名称 | Node.js child_process.spawn Windows命令注入漏洞 |
|---|---|
| 漏洞类型 | 参数注入或修改 |
| 发现时间 | 2024-04-11 |
| 漏洞影响广度 | 广 |
| MPS编号 | MPS-d5b7-omr9 |
| CVE编号 | CVE-2024-27980 |
| CNVD编号 | - |
影响范围
node.js@[18.0, 18.20.2)
node.js@[21.0.0, 21.7.3)
node.js@[20.0.0, 20.12.2)
修复方案
将 Node.js 升级至 20.12.2 及以上版本
将 Node.js 升级至 18.20.2 及以上版本
将 Node.js 升级至 21.7.3 及以上版本
参考链接
https://www.oscs1024.com/hd/MPS-d5b7-omr9
https://www.kb.cert.org/vuls/id/123335
https://nvd.nist.gov/vuln/detail/CVE-2024-27980
免费情报订阅&代码安全检测
OSCS是国内首个开源软件供应链安全社区,社区联合开发者帮助全球顶级开源项目解决安全问题,并提供实时的安全漏洞情报,同时提供专业的代码安全检测工具为开发者免费使用。社区开发者可以通过配置飞书、钉钉、企业微信机器人获取一手的情报。
免费代码安全检测工具: https://www.murphysec.com/?src=osc
免费情报订阅: https://www.oscs1024.com/cm/?src=osc
具体订阅方式详见: https://www.oscs1024.com/docs/vuln-warning/intro/?src=osc
