【高危】Node.js Windows下路径遍历漏洞
漏洞描述
Node.js是Node.js开源的一个开源、跨平台的 JavaScript 运行时环境。
受影响版本中,在Windows系统下,利用Windows 保留设备名(如 AUX、CON、PRN等)可绕过path.join的路径遍历保护,导致攻击者可以通过…\…\AUX\…\…\target.txt遍历攻击者要访问的文件。
修复版本中通过给Windows 保留设备名加黑名单,特殊处理Windows 保留设备名。
MPS编号 | MPS-ybe1-i6qs |
---|---|
CVE编号 | CVE-2025-27210 |
处置建议 | 建议修复 |
发现时间 | 2025-07-16 |
利用成本 | 中 |
利用可能性 | 高 |
是否有POC | 是 |
影响范围
影响组件 | 受影响的版本 | 最小修复版本 |
---|---|---|
node.js | [20.0, 20.19.4) | 20.19.4 |
node.js | [24.0, 24.4.1) | 24.4.1 |
node.js | [22.0, 22.17.1) | 22.17.1 |
参考链接
https://www.oscs1024.com/hd/MPS-ybe1-i6qs
https://nodejs.org/en/blog/vulnerability/july-2025-security-releases
https://github.com/nodejs/node/commit/56f9db2aaa
排查方式
手动排查
- 检查Node.js版本:确认当前版本是否在[20.0,20.19.4)、[22.0,22.17.1)、[24.0,24.4.1)范围内,命令
node -v
- 检查代码路径处理:排查使用path.join处理用户输入的场景,查看是否过滤Windows保留设备名(AUX、CON、PRN等)
一键自动排查全公司此类风险
墨菲安全为您免费提供一键排查全公司开源组件漏洞&投毒风险服务,可一键接入扫描全公司的代码仓库、容器镜像仓库、主机、制品仓库等。
试用地址:https://www.murphysec.com/adv?code=9VL5
提交漏洞情报:https://www.murphysec.com/bounty
处置方式
应急缓解方案
- 对用户输入的文件路径进行严格验证,过滤包含Windows保留设备名(AUX、CON、PRN、NUL、COM1-9、LPT1-9等)的请求
- 在使用path.join前,对输入路径进行规范化处理,移除可能的路径遍历序列
- 限制应用程序对文件系统的访问权限,遵循最小权限原则
- 部署Web应用防火墙(WAF),配置规则拦截包含特殊设备名的路径请求
根本修复方案
- 将Node.js版本升级至官方修复版本:
- 20.x系列升级至20.19.4或更高版本
- 22.x系列升级至22.17.1或更高版本
- 24.x系列升级至24.4.1或更高版本
- 升级完成后重启Node.js服务使更新生效
- 实施版本控制策略,定期检查并应用Node.js安全更新
- 对应用进行全面测试,确保升级后功能正常且无兼容性问题