艾体宝新闻 | 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+等,便利整个修复流程。

相关推荐
我叫汪枫2 小时前
在后台管理系统中,如何递归和选择保留的思路来过滤菜单
开发语言·javascript·node.js·ecmascript
技术钱2 小时前
nodejs使用RustFS容器服务搭建对象存储oss
node.js·egg
大貔貅喝啤酒7 小时前
接口测试_Postman(详细版)
javascript·测试工具·node.js·自动化·postman
桜吹雪8 小时前
Langchain.js官方文档:构建具备按需加载技能的 SQL 助手
javascript·人工智能·node.js
拾贰_C14 小时前
【node.js | Ubuntu | update】如何升级旧的nodejs本版至最新;如何升级npm
ubuntu·npm·node.js
湖边看客15 小时前
在 Windows PowerShell 里给 Node.js 设置内存上限
node.js
zhensherlock16 小时前
Protocol Launcher 系列:Beorg 高效任务管理的协议支持
前端·javascript·typescript·node.js·自动化·github·js
shao9185161 天前
第3章(2)——使用Gradio JavaScript Client
javascript·node.js·cdn·gradio·job·events·playcode
Rabbit_QL1 天前
npm 不是“前端的包管理器“—它是 Node.js 的
前端·npm·node.js
是大强1 天前
nvm安装node成功npm失败
前端·npm·node.js