艾体宝新闻 | Node.js 高危安全漏洞:堆栈溢出可能导致服务器崩溃(CVE-2025-59466)

一、漏洞描述

2026年1月13日,Node.js 项目官方披露了新的高危漏洞,漏洞编号为CVE-2025-59466(CVSS评分:7.5)。

漏洞成因在于Node.js 使用 V8 JavaScript 引擎,并尝试在调用栈空间耗尽时抛出可捕获的错误,以便运行时或框架可以优雅处理异常,保持服务可用。然而,在使用 Node.js 的async_hooks模块时(这个 API 用于在异步操作生命周期中追踪上下文,如数据库查询、定时器、HTTP 请求等),发生了一个边缘情况的错误:当用户代码中出现深度递归,耗尽了调用栈空间,Node.js 会直接退出进程,返回退出码 7(Internal Exception Handler Run-Time Failure),而不会抛出可以被捕获的异常,导致无法通过程序内的错误处理捕获崩溃,从而造成服务不可用。

二、影响版本

此次漏洞影响面较广,从Node.js 8.x 开始引入async_hooks API直到 18.x 的版本,这些版本都被视为高危的版本,且由于Carbon的Node.js 8.0.0版本于2017年5月30日发布,目前已经达到EoL(生命周期终止),因此次版本不会有补丁的发布。

Node.js的应用面极广,多种流行框架和性能监控工具都使用了Node.js组件,如 Datadog、New Relic、Dynatrace、Elastic APM、OpenTelemetry,如果有采用这些框架工具的项目同样需要注意补丁和版本的更新。

三、缓解措施

Node.js 官方在 以下版本中加入了修复,建议及时更新到这些版本:

  • Node.js 20.20.0 (LTS)

  • Node.js 22.22.0 (LTS)

  • Node.js 24.13.0 (LTS)

  • Node.js 25.3.0(当前版本)

四、艾体宝 Mend.io (原WhiteSource)解决方案

针对 CVE-2025-59466 这一影响范围广、生态依赖复杂的 Node.js 高危漏洞,艾体宝Mend SCA可以通过解析package.json、package-lock.json、yarn.lock等依赖文件或者计算项目文件哈希值,实现自动识别项目中直接或间接依赖的Node.js组件,并分析受影响组件在项目中的实际调用路径和依赖链,从而确认是否是真正有危害的漏洞。

对于 CVE-2025-59466 这种有明确修复方案的漏洞,Mend可以针对可修复版本提供可操作的整改建议,包括明确推荐的安全版本,例如Node.js 20.20.0+、Node.js 22.22.0+、Node.js 24.13.0+等,便利整个修复流程。

相关推荐
Mr_li5 小时前
NestJS 集成 TypeORM 的最优解
node.js·nestjs
UIUV7 小时前
node:child_process spawn 模块学习笔记
javascript·后端·node.js
前端付豪1 天前
Nest 项目小实践之注册登陆
前端·node.js·nestjs
天蓝色的鱼鱼1 天前
Node.js 中间层退潮:从“前端救星”到“成本噩梦”
前端·架构·node.js
codingWhat1 天前
uniapp 多地区、多平台、多环境打包方案
前端·架构·node.js
小p1 天前
nodejs学习: 服务器资源CPU、内存、硬盘
node.js
Mr_li2 天前
手摸手,教你如何优雅的书写 NestJS 服务配置
node.js·nestjs
QQ5110082852 天前
python+springboot+django/flask的校园资料分享系统
spring boot·python·django·flask·node.js·php
q***09802 天前
最新最详细的配置Node.js环境教程
node.js
WeiXin_DZbishe2 天前
基于django在线音乐数据采集的设计与实现-计算机毕设 附源码 22647
javascript·spring boot·mysql·django·node.js·php·html5