Linux Distros 未修補弱點:CVE-2026-110816

medium Nessus Plugin ID 366413

概要

Linux/Unix 主機上安裝的一個或多個套件存有弱點,廠商表示將不會修補。

說明

Linux/Unix 主機上安裝了一個或多個受到弱點影響的套件,且廠商未提供可用的修補程式。

- ### 摘要 'qs.stringify' 與 'arrayFormat: 'comma'' 會擲回 'TypeError: 無法將物件轉換為原始值',當陣列元素無法強制轉換為字串時,例如具有自己的不可呼叫 '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' 產生 '{ a: [{ toString: x }] }',不涉及 qs 選項。'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: 逗號 });
qs.stringify(qs.parse(a[][b]=c, { plainObjects: true }), { arrayFormat: comma, encodeValuesOnly: true});TypeError:無法將物件轉換為原始值 ''' #### 修正 在 a952e75 中的 'main' 中應用並作為 v6.16.1 發布:字串強制失敗的元素被強制為其原始 'valueOf'(如果有),否則被強制為 'Object.prototype.toString',因此它呈現為 '[object Object]',與逗號格式下的任何其他物件元素相同。巢狀陣列的遍歷方式是「加入」遍歷它們。
之前未擲出的每個輸入都會像以前一樣序列化,而本身擲出的「toString」或「valueOf」仍會傳播。### 受影響的版本「>=6.7.0 <6.16.1」,在 v6.16.1 中修正。「加入」路徑是在 b84acba 中以逗號格式引入的,並首次在 v6.7.0 中發布;v6.6.x 和更早版本會忽略 'arrayFormat: 'comma'',不會受到影響。'encodeValuesOnly' 'String()' 網站是在 4c4b23d (v6.11.1) 中引入的;在此之前,相同的輸入會在「加入」時擲回。從 v6.7.0 到 v6.16.0 的每個版本都會受到影響。### 影響 未經身份驗證的請求可以使任何具有 'qs.stringify' 和 'arrayFormat: 'comma'' 重新序列化受攻擊者影響資料的程式碼路徑 (例如,從 'req.query' 重建重新導向或上游請求的查詢字串,或序列化剖析的 JSON 內文) 同步擲回。在一般Node.js HTTP架構中,架構錯誤界限會攔截擲回,而受影響的要求會傳回 500;處理程序會持續運作,其他要求不會受到影響。如果呼叫在錯誤邊界之外執行,例如「非同步」Express 4 處理常式 (擲回會變成未處理的 Promise 拒絕) 或裸露的「http」要求處理常式,則處理程序會結束,因此在此情況下的影響取決於應用程式錯誤處理,而不是 qs。預設的 'arrayFormat' ('indices') 不受影響。(CVE-2026-110816)

請注意,Nessus 的判定取決於廠商所報告的套件是否存在。

解決方案

目前尚未有已知的解決方案。

另請參閱

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

Plugin 詳細資訊

嚴重性: 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