Ubuntu 16.04 ESM / 18.04 ESM:Node.js 弱點 (USN-4796-1)

high Nessus Plugin ID 183156

概要

遠端 Ubuntu 主機缺少一個或多個安全性更新。

說明

遠端 Ubuntu 16.04 ESM / 18.04 ESM 主機上安裝的多個套件受到 USN-4796-1 公告中提及的多個弱點影響。

- 在 Node.js 0.10.47 之前的 0.10.x、0.12.16 之前的 0.12.x、4.6.0 之前的 4.x 以及 6.7.0 之前的 6.x 中,tls.checkServerIdentity 函式未正確處理 X.509 憑證名稱欄位中的萬用字元,其允許攔截式攻擊者透過特製的憑證偽造伺服器。(CVE-2016-7099)

- 如果傳入特製的 DNS 回應封包,會觸發用於剖析 NAPTR 回應的 c-ares 函式「ares_parse_naptr_reply()」,讀取給定輸入緩衝區之外的記憶體。(CVE-2017-1000381)

- 在 6.14.4、8.11.4 和 10.9.0 之前的所有 Node.js 版本中,搭配 UCS-2 編碼 (Node.js 以名稱 `'ucs2'`、`'ucs-2'`、`'utf16le'` 和 `'utf-16le'` 識別) 使用時,`Buffer#write()` 可遭濫用而寫入單一 `Buffer` 的邊界之外。如從緩衝區的倒數第二個位置開始寫入,則會造成要寫入的輸入位元組的最大長度計算錯誤。(CVE-2018-12115)

- Node.js: Node.js 6.15.0 和 8.14.0 之前的所有版本:HTTP 要求分割:如果可以誘騙 Node.js 針對 HTTP 要求的 `path` 選項使用未清理的使用者提供的 Unicode 資料,則可提供的資料將觸發向相同伺服器發出的第二個非預期的使用者定義 HTTP 要求。(CVE-2018-12116)

- Node.js: Node.js 6.15.0 之前的所有版本、8.14.0、10.14.0 和 11.3.0:Slowloris HTTP 拒絕服務:攻擊者可透過非常緩慢地傳送標頭,使 HTTP 或 HTTPS 連線及相關資源長時間處於作用中狀態,進而造成拒絕服務 (DoS)。(CVE-2018-12122)

- Node.js: Node.js 6.15.0 之前的所有版本、8.14.0、10.14.0 和 11.3.0:URL 剖析器中用於 javascript 通訊協定的主機名稱偽造:如果 Node.js 應用程式使用 url.parse() 來判斷 URL 主機名稱,則可使用混合大小寫的 javascript 通訊協定來欺騙該主機名稱:(例如 javAscript: ,其他通訊協定不受影響) 。如果根據主機名稱做出有關 URL 的安全性決策,則這些決策可能不正確。(CVE-2018-12123)

- Node.js 檢查器 6.x 和更高版本容易遭受 DNS 重新綁定攻擊,攻擊者可利用此弱點發動遠端程式碼執行。攻擊者可在同部電腦,或是對執行 Node.js 處理程序之電腦具有網路存取權的另一部電腦上,使用網頁瀏覽器開啟惡意網站來發動攻擊。惡意網站可利用 DNS 重新繫結攻擊來誘騙網頁瀏覽器繞過同源原則檢查,並允許 HTTP 連線至 localhost 或本機網路上的主機。若在 localhost 或本機網路主機上,執行具有效除錯連接埠的 Node.js 處理程序,則惡意網站可能會連線至該處理程序做為除錯程式,並取得完整的程式碼執行存取權。(CVE-2018-7160)

- 以某些參數呼叫 Buffer.fill() 或 Buffer.alloc() 可導致懸置,進而導致拒絕服務。為解決此弱點,已更新 Buffer.alloc() 和 Buffer.fill() 的實作,以便它們在這些情況下以零填入,而非懸置。Node.js 6.x (LTS Boron)、8.x (LTS Carbon) 和 9.x 的所有版本都容易受到影響。Node.js 10.x (最新版本) 的所有版本都不易受到影響。(CVE-2018-7167)

- 在 Node.js 6.17.0 之前的 6.x、8.15.1 之前的 8.x、10.15.2 之前的 10.x 以及 11.10.1 之前的 11.x 中,攻擊者可透過在持續連線模式下非常緩慢地傳送標頭,建立 HTTP 或 HTTPS 連線,藉此造成拒絕服務 (DoS)。這可讓連線和相關聯的資源長時間保持運作。使用負載平衡器或其他 proxy 層可減輕攻擊發生的可能性。
此弱點是 CVE-2018-12121 的延伸模組,已在 11 月得以解決,該弱點會影響所有有效的 Node.js 版本,包括 6.17.0 之前的 6.x、8.15.1 之前的 8.x、10.15.2 之前的 10.x 和 11.10.1之前的 11.x。(CVE-2019-5737)

請注意,Nessus 並未測試這些問題,而是僅依據應用程式自我報告的版本號碼作出判斷。

解決方案

更新受影響的 nodejs、nodejs-dev 和/或 nodejs-legacy 套件。

另請參閱

https://ubuntu.com/security/notices/USN-4796-1

Plugin 詳細資訊

嚴重性: High

ID: 183156

檔案名稱: ubuntu_USN-4796-1.nasl

版本: 1.0

類型: local

代理程式: unix

已發布: 2023/10/16

已更新: 2023/10/16

支援的感應器: Agentless Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Frictionless Assessment Azure, Nessus Agent, Nessus

風險資訊

VPR

風險因素: Medium

分數: 5.9

CVSS v2

風險因素: Medium

基本分數: 6.8

時間分數: 5

媒介: CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:P

CVSS 評分資料來源: CVE-2018-7160

CVSS v3

風險因素: High

基本分數: 8.8

時間分數: 7.7

媒介: CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

時間媒介: CVSS:3.0/E:U/RL:O/RC:C

弱點資訊

CPE: cpe:/o:canonical:ubuntu_linux:16.04:-:esm, cpe:/o:canonical:ubuntu_linux:18.04:-:esm, p-cpe:/a:canonical:ubuntu_linux:nodejs, p-cpe:/a:canonical:ubuntu_linux:nodejs-dev, p-cpe:/a:canonical:ubuntu_linux:nodejs-legacy

必要的 KB 項目: Host/cpu, Host/Ubuntu, Host/Ubuntu/release, Host/Debian/dpkg-l

可輕鬆利用: No known exploits are available

修補程式發佈日期: 2021/3/15

弱點發布日期: 2016/9/13

參考資訊

CVE: CVE-2016-7099, CVE-2017-1000381, CVE-2018-12115, CVE-2018-12116, CVE-2018-12122, CVE-2018-12123, CVE-2018-7160, CVE-2018-7167, CVE-2019-5737

USN: 4796-1