IPBUF安全漏洞报告
English
CVE-2026-40175 CVSS 4.8 中危

CVE-2026-40175 Axios HTTP请求头注入漏洞

披露日期: 2026-04-10

漏洞信息

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

相关标签

Axios原型污染CVE-2026-40175HTTP头注入供应链安全

漏洞概述

Axios是基于Promise的HTTP客户端。在1.15.0和0.3.1之前的版本中,存在特定的小工具风格攻击链漏洞。攻击者可利用第三方依赖中的原型污染,向出站请求注入未经处理的头部值。该漏洞可能导致请求完整性受损或数据泄露,建议尽快升级修复。

技术细节

该漏洞属于典型的供应链与原型污染组合攻击。首先,攻击者利用目标Web应用依赖的某个第三方库中存在的原型污染漏洞(例如不安全的JSON解析或对象递归合并操作),成功向JavaScript的全局Object.prototype对象中注入自定义的恶意属性。其次,当应用使用受影响版本的Axios发起HTTP请求时,Axios在构建请求配置的过程中,会遍历输入对象及其隐式原型链来收集请求头参数。由于受影响版本的Axios未对原型链上的属性进行隔离或过滤,攻击者预先注入的恶意属性便会被误识别为合法的请求头字段。最终,这些未经充分处理的头部值被附加到出站的HTTP请求中发送至目标服务器。这种利用方式可能导致请求走私、缓存投毒,甚至在特定场景下绕过安全检查(如CORS限制或SSRF防护),对应用的通信安全构成严重威胁。

攻击链分析

STEP 1
步骤1:原型污染
攻击者利用应用中第三方依赖库的原型污染漏洞,向Object.prototype注入恶意属性。
STEP 2
步骤2:触发请求
用户或应用逻辑触发Axios库发起HTTP请求。
STEP 3
步骤3:属性合并
Axios在处理请求配置时,未正确过滤原型链,将被污染的属性识别为请求头。
STEP 4
步骤4:注入攻击
恶意头部值被附加到出站请求中,发送至外部服务器,造成数据泄露或完整性破坏。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// Prototype pollution simulation to inject headers // Step 1: Pollute the prototype (simulating a third-party vuln) JSON.parse('{"__proto__": {"x-malicious-header": "hacked_by_attacker"}}'); // Step 2: Use Axios to send a request const axios = require('axios'); // In vulnerable versions, the polluted property is treated as a header axios.get('https://httpbin.org/headers') .then(response => { console.log('Response:', response.data); // The outgoing request to httpbin.org will contain: // x-malicious-header: hacked_by_attacker }) .catch(error => { console.error('Error:', error); });

影响范围

Axios < 1.15.0
Axios < 0.3.1

防御指南

临时缓解措施
若无法立即升级,建议在发送请求前实施严格的请求头白名单验证机制,过滤掉非业务预期的头部。也可以在创建Axios实例或配置对象时,使用Object.create(null)来生成无原型的纯净对象,从而切断原型链污染的影响路径。

参考链接

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