Linux Distros 未修补的漏洞:CVE-2026-110816

medium Nessus 插件 ID 366413

简介

Linux/Unix 主机上安装的一个或多个程序包存在漏洞,但供应商表示不会修补此漏洞。

描述

Linux/Unix 主机中安装的一个或多个程序包受到一个漏洞影响,而供应商没有提供补丁程序。

- ### 汇总 “qs.stringify” with 'arrayFormat: 'comma'' 抛出“TypeError: Cannot convert object to primitive value”:当数组元素无法强制转换为字符串时,例如具有自己的不可调用“toString”('{ toString: x }') 的对象或 null 原型对象。逗号格式将数组元素与“Array.prototype.join”连接起来,并在“encodeValuesOnly”下,首先将每个元素传递给“utils.encode”中的“String()”;两者都不会防止字符串强制失败的元素。### 详细信息 在“lib/stringify.js”中,逗号分支会以“obj.join(',')”折叠数组。对于自己的“toString”不可调用的元素,“ToPrimitive”会跳过它,回退到 'Object.prototype.valueOf'(返回对象本身),然后掷回。在“encodeValuesOnly: true”下,同一元素首先到达“utils.encode”(“lib/utils.js”)中的“String(str)”并掷回该处。嵌套数组 ('{ a: [[{ toString:
x }]] }')通过“Array.prototype.toString”以相同的方式抛出。“indices”、“brackets”和“repeat”格式走入对象元素,而不是强制它们,因此不受影响。此类元素可能来自不受信任的输入。“JSON.parse”生成不涉及 qs 选项的“{ a: [{ toString: x }] }”。'qs.parse(a[0][toString]=x, { allowPrototypes: true })' 保留 'toString' 键,'qs.parse(a[][b]=c, { plainObjects: true })' 产生 null-prototype 元素;默认解析选项会删除“toString”并生成不会抛出的普通对象。Express 4 的默认“query parser”、Express 5 的“extended”查询解析器以及 body-parser 的“urlencoded({ extended: true })”均通过“allowPrototypes: true”调用“qs.parse”。#### PoC '''js var qs = require(qs);
qs.stringify(JSON.parse({\a\:[{\toString\:\x\}]}), { arrayFormat:逗号 });
qs.stringify(qs.parse(a[0][toString]=x, { allowPrototypes: true }), { arrayFormat: comma });
qs.stringify(qs.parse(a[][b]=c, { plainObjects: true }), { arrayFormat: comma, encodeValuesOnly: true});TypeError:无法将对象转换为原始值“' #### 修复 在”main“的 a952e75 中应用并作为 v6.16.1 发布:字符串强制将失败的元素被强制到其原始”valueOf“(如果有)或者”Object.prototype.toString“,因此它呈现为”[object Object]“,与逗号格式下的任何其他对象元素相同。嵌套数组按照“join”遍历的方式遍历。
之前未抛出的每个输入都会像以前一样序列化,而自身抛出的“toString”或“valueOf”仍会传播。### 受影响的版本 '>=6.7.0 <6.16.1',已在 v6.16.1 中修复。“join”路径在 b84acba 中以逗号格式引入,并首先在 v6.7.0 中随附;v6.6.x 和较早版本会忽略 'arrayFormat: 'comma'',因此不会受到影响。“encodeValuesOnly”“String()”站点在 4c4b23d (v6.11.1) 中引入;在此之前,相同的输入会在“join”时抛出。从 v6.7.0 到 v6.16.0 的所有版本均受到影响。### 影响 未经身份验证的请求可导致任何使用“qs.stringify”和“arrayFormat:”逗号“重新序列化受攻击者影响的数据的代码路径(例如,从”req.query“重建重定向或上游请求的查询字符串,或序列化解析的 JSON 正文)同步抛出。在典型的 Node.js HTTP 框架中,框架错误边界会捕获掷回,受影响的请求会返回 500;进程会正常运行,其他请求不受影响。如果调用在错误边界之外运行,例如“异步”Express 4 处理程序(其中掷回变成未处理的承诺拒绝)或裸“http”请求处理程序,则进程会退出,因此该情况下的影响取决于应用程序错误处理方式,而不是 qs。默认“arrayFormat”(“indices”)不受影响。(CVE-2026-110816)

请注意,Nessus 依赖供应商报告的程序包是否存在进行判断。

解决方案

目前尚未有任何已知的解决方案。

另见

https://security-tracker.debian.org/tracker/CVE-2026-110816

插件详情

严重性: Medium

ID: 366413

文件名: unpatched_CVE_2026_110816.nasl

版本: 1.1

类型: Local

代理: unix

系列: Misc.

发布时间: 2026/10/16

最近更新时间: 2026/10/16

支持的传感器: Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus

风险信息

VPR

风险因素: Low

分数: 3.9

百分位: 52.43

CVSS v2

风险因素: High

基本分数: 9

时间分数: 7.7

矢量: CVSS2#AV:N/AC:L/Au:N/C:C/I:P/A:P

CVSS 分数来源: CVE-2026-110816

CVSS v3

风险因素: Medium

基本分数: 5.3

时间分数: 4.9

矢量: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

时间矢量: CVSS:3.0/E:U/RL:U/RC:C

CVSS v4

风险因素: Medium

Base Score: 6.3

Threat Score: 1.7

Threat Vector: CVSS:4.0/E:U

Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

漏洞信息

CPE: cpe:/o:debian:debian_linux:12.0, cpe:/o:debian:debian_linux:13.0, cpe:/o:debian:debian_linux:14.0, p-cpe:/a:debian:debian_linux:node-qs

必需的 KB 项: Host/local_checks_enabled, Host/cpu, global_settings/vendor_unpatched, Host/OS/identifier

易利用性: No known exploits are available

漏洞发布日期: 2026/10/14

参考资料信息

CVE: CVE-2026-110816