CVE-2026-8161 (CVSS 7.5) - multiparty@4.2.3 and lower versions are vulnerable to denial of service via unca

🔥 热门漏洞情报 · NVD-Latest · 2026-05-12

CVE-2026-8161 (CVSS 7.5) - multiparty@4.2.3 and lower versions are vulnerable to denial of service via unca

High · CVSS 7.5 拒绝服务(Uncaught Exception)
CVE-2026-8161

📋 漏洞概述

pillarjs multiparty 4.2.3及更低版本因未对表单字段名做安全过滤,导致攻击者可通过原型污染触发未捕获异常,造成服务拒绝服务。

📋 基础信息

受影响版本pillarjs multiparty <= 4.2.3
漏洞类型拒绝服务(Uncaught Exception)
CVSS7.5 · High
CVECVE-2026-8161

🔬 漏洞根因

multiparty解析multipart/form-data请求时,未对字段名进行严格校验。攻击者可构造字段名如__proto__、constructor、toString,这些名称会与Object.prototype的继承属性冲突。解析器在尝试对字段值调用.push()方法时,实际作用于原型属性而非数组,由于原型属性值不是数组,导致TypeError异常且未被捕获,直接终止进程。

🎯 攻击场景

1. 攻击者定位使用multiparty库处理文件上传的Web服务。2. 攻击者构造一个multipart/form-data POST请求,其中包含一个名为__proto__的字段,并赋予任意值(如数组)。3. 服务端multiparty解析该请求时,尝试将字段值推入内部数组,但实际访问的是Object.prototype.__proto__,该属性值为Object.prototype本身,并非数组。4. 调用.push()操作时抛出TypeError,且异常未被捕获,导致Node.js进程崩溃退出。5. 服务不可用,后续请求无法处理,完成拒绝服务攻击。

💥 漏洞影响

成功利用该漏洞可导致Node.js服务进程因未捕获异常而崩溃,造成拒绝服务(DoS)。任何依赖multiparty解析用户上传multipart数据的Web应用均受影响,可能导致整个服务中断,影响业务连续性。

🛡️ 修复建议

升级到multiparty@4.3.0或更高版本。临时缓解措施:在应用层对请求中的字段名进行白名单过滤,拒绝包含__proto__、constructor、toString等危险字段名的请求;或在应用层添加全局异常处理器捕获未捕获异常,将进程崩溃降级为错误响应。

📎 参考链接

🚨 威胁评估

📈 EPSS 利用概率低 (0.0%) (高于 12.4% 的漏洞)
🚨 CISA KEV未被已知利用
🔧 公开 PoC1 个公开 PoC 仓库

⚠️ 本文由漏洞情报系统自动生成,仅供安全研究与防御参考。生成时间: 2026-05-14 08:05 | 来源: NVD-Latest

[!] CONTACT_CHANNELS

如需商务合作、技术咨询或漏洞反馈,请通过以下离岸节点联系作者。

> PING_AUTHOR (@A1RedTeam)