IPBUF安全漏洞报告
English
CVE-2026-8723 CVSS 5.3 中危

CVE-2026-8723 qs库拒绝服务漏洞

披露日期: 2026-05-17
来源: 7ffcee3d-2c14-4c3e-b844-86c6a321a158

漏洞信息

漏洞编号
CVE-2026-8723
漏洞类型
拒绝服务
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
qs

相关标签

拒绝服务DoSqsNode.jsCVE-2026-8723

漏洞概述

CVE-2026-8723是广泛使用的Node.js查询字符串解析库`qs`中发现的一个拒绝服务漏洞。在受影响的版本范围(6.11.1至6.15.2之前)中,当应用程序调用`qs.stringify`方法,并同时配置`arrayFormat: 'comma'`和`encodeValuesOnly: true`这两个非默认选项时,如果处理的对象数组中包含`null`或`undefined`元素,将导致程序抛出同步的`TypeError`异常。这种异常未被捕获,会中断正常的请求处理流程,导致Web服务返回500错误或在特定场景下崩溃,从而造成拒绝服务攻击。

技术细节

该漏洞的技术根源位于`lib/stringify.js`文件的第145行。在处理特定格式的数组时,代码逻辑调用了`utils.maybeMap(obj, encoder)`来对数组元素进行预处理。然而,底层的`utils.encode`函数(位于`lib/utils.js:195`)在尝试读取字符串长度属性`str.length`之前,未对输入参数进行空值校验。因此,当传入`null`或`undefined`时,JavaScript运行时会立即抛出类型错误。值得注意的是,库本应具备的`skipNulls`和`strictNullHandling`防御机制位于该映射操作之后的循环逻辑中,导致它们在此次攻击路径下完全失效。修复方案是在映射函数中增加空值判断,直接透传`null`和`undefined`。攻击者可以通过发送包含恶意构造的JSON数据的HTTP请求来触发此漏洞,致使服务端处理线程异常终止,影响服务的可用性。

攻击链分析

STEP 1
步骤1
攻击者识别出目标应用使用了受影响版本的`qs`库,并且调用了`stringify`方法。
STEP 2
步骤2
攻击者构造包含特殊数组的恶意数据(如JSON请求体),数组中包含`null`或`undefined`元素。
STEP 3
步骤3
将恶意数据发送给服务端,触发应用调用`qs.stringify`并使用`arrayFormat: 'comma'`和`encodeValuesOnly: true`参数。
STEP 4
步骤4
服务端在处理过程中尝试读取`null`的`length`属性,抛出未捕获的`TypeError`异常。
STEP 5
步骤5
异常导致当前请求失败(500错误)或后台进程崩溃,造成拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
const qs = require('qs'); qs.stringify({ a: [null, 'b'] }, { arrayFormat: 'comma', encodeValuesOnly: true }); qs.stringify({ a: [undefined, 'b'] }, { arrayFormat: 'comma', encodeValuesOnly: true }); qs.stringify({ a: [null] }, { arrayFormat: 'comma', encodeValuesOnly: true }); // TypeError: Cannot read properties of null (reading 'length') // at encode (lib/utils.js:195:13) // at Object.maybeMap (lib/utils.js:322:37) // at stringify (lib/stringify.js:145:25)

影响范围

qs >= 6.11.1, < 6.15.2

防御指南

临时缓解措施
建议尽快升级到修复版本。若无法立即升级,请避免同时使用`arrayFormat: 'comma'`和`encodeValuesOnly: true`参数,并在调用`qs.stringify`前对输入数据进行严格的过滤,移除数组中的`null`和`undefined`值。

参考链接

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