CVE-2025-58754:Axios漏洞使Node.js 进程面临DoS攻击风险

阅读量4290

发布时间 : 2025-09-15 18:22:41

x
译文声明

本文是翻译文章,文章原作者 Ddos,文章来源:securityonline

原文地址:https://securityonline.info/cve-2025-58754-axios-vulnerability-puts-node-js-processes-at-risk-of-dos-attacks/

译文仅供参考,具体内容表达以及含义原文为准。

Axios项目发布安全公告,披露其基于Promise的流行HTTP客户端(适用于Node.js 和浏览器)存在新漏洞。该漏洞编号CVE-2025-58754,CVSS评分7.5,攻击者可通过滥用Axios处理data: URL的方式,导致Node.js 进程崩溃。

漏洞原理:data: URL内存处理缺陷

公告指出,当Axios在Node.js 环境中处理data:协议URL时,不会执行HTTP请求,而是通过Node http适配器将整个 payload 解码到内存(Buffer/Blob)并返回伪造的200响应。

与普通HTTP响应受maxContentLengthmaxBodyLength限制不同,Axios对data: URI完全忽略这些大小限制。漏洞根源在于fromDataURI函数:它将Base64 payload完整解码为Buffer,且未进行任何大小检查。即使开发者配置了Axios的大小限制,这些保护仅对HTTP流生效,对data: URI无效——攻击者可构造任意大小的data: URI,导致Node进程将全部内容加载到内存,最终引发内存耗尽(OOM)崩溃

攻击利用与风险

已有公开的概念验证(PoC) exploit,证明攻击者可通过单个恶意请求触发内存溢出崩溃。例如,构造超大Base64编码的data: URL,Axios会无限制解码并占用系统内存,导致服务不可用。

受影响版本与修复措施

  1. 受影响版本:Axios <1.11.0
  2. 已修复版本:Axios 1.12.0

Axios团队强烈建议用户立即升级,并提供以下修复策略:

  1. 强制大小限制:解码前检查Base64 payload长度,拒绝超过配置阈值的请求。
  2. 流式解码:采用流式Base64解码器增量处理数据块,若超出限制可提前终止。

在未应用补丁前,开发者应避免处理不可信的data: URI,并确保Axios在敏感环境中不暴露于攻击者可控的输入。

本文翻译自securityonline 原文链接。如若转载请注明出处。
分享到:微信
+10赞
收藏
安全客
分享到:微信

发表评论

Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全KER All Rights Reserved 京ICP备08010314号-66