GHSA-777c-7fjr-54vf (CVE-2026-44488) [High] - Allocation of Resources Without Limits or Throttling in Axios

CVE-2026-44488:Axios 1.7.0至1.15.x版本fetch适配器未强制执行请求/响应大小限制(maxContentLength/maxBodyLength),可被攻击者利用导致服务器内存耗尽拒绝服务。官方已发布1.16.0和0.32.0修复版本。

🔥 热门漏洞情报 · OSV · 2026-06-04

GHSA-777c-7fjr-54vf (CVE-2026-44488) [High] - Allocation of Resources Without Limits or Throttling in Axios

High · CVSS 7.5 资源未限制或无节流分配(Allocation of Resources Without Limits or Throttling)
CVE-2026-44488

📋 漏洞概述

Axios 1.7.0至1.15.x版本中fetch适配器未强制执行maxContentLength/maxBodyLength限制,导致资源耗尽。

📋 基础信息

受影响版本axios >= 1.7.0, < 1.16.0 以及 >= 0.0.0, < 0.32.0(即1.7.0至1.15.x,以及0.32.0以下版本)
漏洞类型资源未限制或无节流分配(Allocation of Resources Without Limits or Throttling)
CVSS7.5 · High
CVECVE-2026-44488

🔬 漏洞根因

当使用fetch适配器(包括显式指定adapter: 'fetch'、通过适配器优先级选择fetch、或在无XMLHttpRequest/HTTP适配器的环境中自动回退到fetch)时,axios在请求发送和响应接收过程中未检查用户配置的maxContentLength和maxBodyLength限制值。底层fetch API本身不提供流式大小的中断回调,axios的fetch适配器实现中缺少对Content-Length与配置阈值的比较逻辑,也未在数据读取过程中累积字节数并截断。这使得即使配置了有限的大小约束,攻击者仍可发送或接收任意大小的数据体。

🎯 攻击场景

1. 前提条件:服务端应用使用axios且配置了有限的maxContentLength或maxBodyLength(如1MB),并且运行环境中fetch适配器被选中(例如Node 18+且未强制使用http适配器)。 2. 攻击者控制一个恶意服务器,向该应用发送HTTP响应时返回一个超大的响应体(例如>100MB)。 3. 应用通过axios发起请求(如代理接口或数据拉取),axios的fetch适配器未检查Content-Length,开始将整个响应体缓冲到内存。 4. 随着数据不断流入,进程内存持续增长直至触发OOM Killer或Node.js堆限制,导致服务进程崩溃。 5. 攻击者可持续触发该请求,造成拒绝服务(DoS)。

💥 漏洞影响

攻击者可造成服务器端内存耗尽(OOM)、CPU过载或网络带宽耗尽,导致拒绝服务(Availability loss)。该漏洞不影响默认配置(maxContentLength/maxBodyLength为-1即无限制),但任何配置了有限阈值的应用均会受影响。浏览器端影响受限于浏览器沙箱,主要风险在服务端。

🛡️ 修复建议

立即升级至axios 1.16.0或0.32.0(针对1.x或0.x分支)。临时缓解措施:1)若未使用fetch适配器,显式设置adapter: 'http'以使用Node.js原生http模块,该模块可正常执行大小限制;2)在fetch适配器环境中,通过中间件或代理层在应用层校验Content-Length并拒绝过大的请求/响应体;3)限制服务器单个请求的内存缓冲上限(如通过stream.pipe或利用fetch的ReadableStream手动控制)。

📎 参考链接

🚨 威胁评估

📈 EPSS 利用概率低 (0.0%) (高于 12.5% 的漏洞)
🚨 CISA KEV未被已知利用
🔧 公开 PoC暂无公开 PoC

⚠️ 本文由漏洞情报系统自动生成,仅供安全研究与防御参考。生成时间: 2026-07-03 03:58 | 来源: OSV

🤖 常见问题解答(FAQ)

❓ 如何判断我的应用是否使用了fetch适配器?

检查axios配置中是否有adapter:'fetch'或adapter:['fetch',...],或者运行环境(如Node 18+)中未显式指定adapter且axios因无法加载http而回退到fetch。可通过设置axios.defaults.adapter = 'http'强制使用http适配器。

❓ 该漏洞在浏览器中是否可利用?

浏览器中影响较小,因为浏览器fetch本身有进程级内存限制且用户可与页面交互关闭,但理论上仍可能造成浏览器标签页卡死或崩溃。主要风险集中在Node.js等服务端场景。

❓ 升级后是否影响已有请求?

升级到1.16.0或0.32.0后,fetch适配器将正确校验maxContentLength和maxBodyLength,超过限制的请求/响应会被拒绝并抛出错误(与http适配器行为一致)。部分原本因绕过限制而“成功”的请求将失败,需确保业务逻辑能处理此类错误。

[!] CONTACT_CHANNELS

如需商务合作、技术咨询或漏洞反馈,请通过以下离岸节点联系作者。

> PING_AUTHOR (@A1RedTeam)