常用JavaScript HTTP客户端库Axios被发现存在拒绝服务(DoS)漏洞CVE-2026-25639。漏洞成因是Axios在合并请求配置时,若遇到包含__proto__且被识别为自有属性的配置对象,程序会抛出TypeError并直接崩溃,导致服务中断。
根据GitHub安全通报,问题集中在Axios的mergeConfig函数。该函数在合并请求配置时,会根据每个字段名称查找对应的处理函数。当外部输入的配置对象包含__proto__且该字段为自有属性时,程序在查找表中会意外获取到Object.prototype上的同名属性,并将其当作函数调用,从而抛出TypeError导致程序崩溃。如果Axios用于后端服务且错误未被捕获,就可能引发服务无响应。
该漏洞的风险取决于应用程序使用Axios的方式。GitHub安全通报指出,典型的受影响场景是后端服务接收外部输入后,使用JSON.parse将其转换为对象,并直接作为Axios请求配置传入。当攻击者能够操控该配置对象的内容时,即可通过构造特定的__proto__字段触发崩溃。也就是说,并非所有使用Axios的服务都面临同等风险。
受影响版本为axios 1.13.4及更早版本,该漏洞已在1.13.5版本中修复。GitHub评估CVSS v3.1基础评分为7.5,属于高风险,主要影响服务可用性。该攻击复杂度低,无需权限或用户交互,对可用性影响显著,但不涉及机密性或完整性受损。
GitHub安全通报同时指出,该问题不属于原型污染。因为程序在任何赋值或状态修改之前就已崩溃,攻击效果仅限于使服务停止响应,而非在对象原型上植入持久性恶意属性。
开发者需升级Axios至1.13.5版本以应用官方修复。同时应重新审查代码流程,确认是否存在将外部输入直接作为Axios配置使用的情况,特别是从请求内容或表单数据解析为JSON后,未经校验就传递给HTTP请求层的场景。