GHSA-hfxv-24rg-xrqf (CVE-2026-44496) [High] - Axios: Regular Expression Denial of Service (ReDoS) via Cookie Name Injection
CVE-2026-44496:Axios 0.x < 0.32.0 和 1.x < 1.16.0 版本存在正则表达式拒绝服务(ReDoS)漏洞。攻击者通过注入恶意XSRF cookie名称,可导致浏览器标签页因灾难性回溯而长时间冻结。本分析涵盖漏洞原理、攻击场景、修复建议,帮助开发者及时防范。
GHSA-hfxv-24rg-xrqf (CVE-2026-44496) [High] - Axios: Regular Expression Denial of Service (ReDoS) via Cookie Name Injection
📋 漏洞概述
Axios 在构建XSRF Cookie匹配正则时未转义特殊字符,导致可引发ReDoS攻击,造成浏览器标签页卡顿。
📋 基础信息
| 受影响版本 | Axios 0.x < 0.32.0, Axios 1.x < 1.16.0 |
| 漏洞类型 | 正则表达式拒绝服务 (ReDoS) |
| CVSS | 7.5 · High |
| CVE | CVE-2026-44496 |
🔬 漏洞根因
Axios 在读取 document.cookie 时,使用用户可控的 XSRF cookie 名称直接拼接到正则表达式中(例如 new RegExp('(?:^|; )' + name + '=([^;]*)')),未对 name 中的正则元字符进行转义。攻击者注入如 (a+)+ 之类的恶意字符串,可导致正则引擎在匹配失败时发生灾难性回溯,造成CPU长时间占用。
🎯 攻击场景
1. 前提:攻击者能够影响应用程序传递给 Axios 的 xsrfCookieName 配置项(例如通过配置后端的恶意响应头、XSS修改前端配置、或利用可控制的输入传递给 axios/unsafe/helpers/cookies.js)。2. 注入:攻击者将 xsrfCookieName 设置为精心构造的正则攻击载荷,如 `(a+)+b`。3. 触发:Axios 在发送下一个XHR/Fetch请求时,调用 cookies.js 的 read() 函数,使用恶意名称构造正则,并对完整的 document.cookie 字符串进行匹配。4. 利用:正则引擎尝试匹配,由于字符串中不含对应模式(且payload存在指数级回溯),导致CPU激增。5. 结果:浏览器标签页冻结数秒甚至分钟级,影响用户正常操作页面的可用性。
💥 漏洞影响
仅影响可用性(Availability)。攻击者可导致使用Axios的浏览器标签页长时间无响应,造成拒绝服务。不涉及数据泄露、远程代码执行或请求篡改。仅影响浏览器环境(XHR/Fetch适配器),不适用于Node.js、React Native、Web Worker。
🛡️ 修复建议
升级至 Axios 0.32.0 或 1.16.0 及以上版本。在无法立即升级时,临时缓解措施:1) 禁止用户控制 xsrfCookieName 配置项,始终使用静态默认值 'XSRF-TOKEN';2) 在传入 cookies.js 的 read() 函数前对 cookie name 进行正则转义(如使用 lodash.escapeRegExp);3) 若无需XSRF保护,可将 xsrfCookieName 设为 null 绕过该代码路径。
📎 参考链接
- https://nvd.nist.gov/vuln/detail/CVE-2026-44496
- https://github.com/advisories/GHSA-hfxv-24rg-xrqf
- 原始来源(OSV)
🚨 威胁评估
| 📈 EPSS 利用概率 | 低 (0.0%) (高于 12.5% 的漏洞) |
| 🚨 CISA KEV | 未被已知利用 |
| 🔧 公开 PoC | 暂无公开 PoC |
⚠️ 本文由漏洞情报系统自动生成,仅供安全研究与防御参考。生成时间: 2026-07-03 03:57 | 来源: OSV
🤖 常见问题解答(FAQ)
❓ 这个漏洞影响我的Node.js后端吗?
不影响。只有浏览器环境(XHR/Fetch适配器)会调用读document.cookie的代码路径,Node.js HTTP适配器不受影响。
❓ 如何判断我的Axios版本是否受影响?
检查 package.json 中的 axios 版本:0.x 系列若低于 0.32.0,1.x 系列若低于 1.16.0 则受影响。
❓ 攻击者需要哪些前提才能触发此漏洞?
攻击者必须能控制传递给Axios的xsrfCookieName配置值,例如通过XSS修改前端配置、或直接调用axios/unsafe/helpers/cookies.js并传入恶意name参数。