Node.js Windows下路径遍历漏洞

【高危】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

处置方式

应急缓解方案

  1. 对用户输入的文件路径进行严格验证,过滤包含Windows保留设备名(AUX、CON、PRN、NUL、COM1-9、LPT1-9等)的请求
  2. 在使用path.join前,对输入路径进行规范化处理,移除可能的路径遍历序列
  3. 限制应用程序对文件系统的访问权限,遵循最小权限原则
  4. 部署Web应用防火墙(WAF),配置规则拦截包含特殊设备名的路径请求

根本修复方案

  1. 将Node.js版本升级至官方修复版本:
    • 20.x系列升级至20.19.4或更高版本
    • 22.x系列升级至22.17.1或更高版本
    • 24.x系列升级至24.4.1或更高版本
  2. 升级完成后重启Node.js服务使更新生效
  3. 实施版本控制策略,定期检查并应用Node.js安全更新
  4. 对应用进行全面测试,确保升级后功能正常且无兼容性问题
相关推荐
codingWhat16 小时前
整理「祖传」代码,就是在开发脚手架?
前端·javascript·node.js
ServBay16 小时前
Node.js、Bun 与 Deno,2026 年后端运行时选择指南
node.js·deno·bun
码路飞1 天前
Node.js 中间层我维护了两年,这周终于摊牌了——成本账单算完我人傻了
node.js
None3212 天前
【NestJs】使用Winston+ELK分布式链路追踪日志采集
javascript·node.js
Dilettante2582 天前
这一招让 Node 后端服务启动速度提升 75%!
typescript·node.js
Mr_li3 天前
NestJS 集成 TypeORM 的最优解
node.js·nestjs
UIUV3 天前
node:child_process spawn 模块学习笔记
javascript·后端·node.js
前端付豪4 天前
Nest 项目小实践之注册登陆
前端·node.js·nestjs
天蓝色的鱼鱼4 天前
Node.js 中间层退潮:从“前端救星”到“成本噩梦”
前端·架构·node.js
codingWhat4 天前
uniapp 多地区、多平台、多环境打包方案
前端·架构·node.js