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

medium Nessus 插件 ID 341603

简介

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

描述

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

- ### 汇总 “qs.stringify”在序列化一个自身的“构造函数”属性具有真实、不可调用的“isBuffer”成员的对象时会抛出“TypeError”。“utils.isBuffer”会在仅检查属性是否为真之后调用“obj.constructor.isBuffer(obj)”来隐藏缓冲区,因此诸如“{constructor: { isBuffer: x } }”之类的值会使调用抛出“TypeError: obj.constructor.isBuffer is not a function”。### 详细信息 “lib/stringify.js:127”在其序列化的每个非原始值上调用“utils.isBuffer”。“utils.isBuffer”(“lib/utils.js:332”)读取“obj.constructor.isBuffer”并在未验证其是否为函数的情况下将其调用。'constructor' 和 'isBuffer' 是普通属性名称,因此承载它们作为自有属性的任何对象都会到达未经检查的调用。可从不受信任的输入构建此类对象。“qs.parse(x[constructor][isBuffer]=y, { plainObjects: true })”或“{ allowPrototypes: true }”将“构造函数”密钥保留为自己的属性(默认解析选项会删除它),而“JSON.parse({\a\:{\constructor\:{\isBuffer\:\x\}}})”生成不涉及 qs 选项的相同形状。具有默认“query parser”设置的 Express 4 和具有“extended: true”的正文解析器都通过“allowPrototypes: true”调用“qs.parse”,因此在这些堆栈上“req.query”和“req.body”可直接携带形状。#### PoC '''js var qs = require(qs);qs.stringify(qs.parse(x[constructor][isBuffer]=y, { plainObjects: true }));qs.stringify(JSON.parse({\a\:{\constructor\:{\isBuffer\:\x\}}})); // TypeError:obj.constructor.isBuffer 不是函数 // at Object.isBuffer (lib/utils.js:332:78) // at stringify (lib/stringify.js:127:45) ''' #### 修复在 e83d321 中的“main”中应用并作为 v6.16.0 发布的“lib/utils.js”: '''diff - return!!(obj.constructor &; obj.constructor.isBuffer &&; obj.constructor.isBuffer(obj));+ 返回!!(obj.constructor &&; typeof obj.constructor.isBuffer === 函数 &&; obj.constructor.isBuffer(obj));''' Real 'Buffer'、'safer-buffer' 和 browserify 'buffer' polyfill 实例会像以前一样进行序列化;仅删除投掷。### 受影响的版本 '>=2.2.5 <6.16.0',已在 v6.16.0 中修复。unguarded duck-type 是在 3768a75 中引入的,并在 v2.2.5 中首次随附(2014 年 9 月)。v2.2.4 和更早版本使用“Buffer.isBuffer”,不受影响。从 v2.2.5 到 v6.15.3 的每个版本都包含不受保护的调用。### 影响 未经身份验证的请求可以同步抛出任何通过“qs.stringify”重新序列化受攻击者影响的数据(例如,从“req.query”重建重定向或上游请求的查询字符串,或序列化解析的 JSON 正文)的代码路径。在典型的 Node.js HTTP 框架中,框架错误边界会捕获掷回,受影响的请求会返回 500;进程会正常运行,其他请求不受影响。如果调用在错误边界之外运行,例如“异步”Express 4 处理程序(其中抛出变成未处理的承诺拒绝)或后台作业,则进程会退出,因此该情况下的影响取决于应用程序错误处理方式,而不是 qs。(CVE-2026-82417)

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

解决方案

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

另见

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

插件详情

严重性: Medium

ID: 341603

文件名: unpatched_CVE_2026_82417.nasl

版本: 1.1

类型: Local

代理: unix

系列: Misc.

发布时间: 2026/8/30

最近更新时间: 2026/8/30

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

风险信息

VPR

风险因素: Low

分数: 1.2

百分位: 0.01

CVSS v2

风险因素: High

基本分数: 7.5

时间分数: 6.4

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

CVSS 分数来源: CVE-2026-82417

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:11.0, 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/cpu, Host/local_checks_enabled, global_settings/vendor_unpatched, Host/OS/identifier

易利用性: No known exploits are available

漏洞发布日期: 2026/8/29

参考资料信息

CVE: CVE-2026-82417