Oracle Linux 8:nodejs: 14 (ELSA-2021-3666)

critical Nessus Plugin ID 153765

概要

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

說明

遠端 Oracle Linux 8 主機中安裝的套件受到 ELSA-2021-3666 公告中提及的多個弱點影響。

- c-ares:缺少主機名稱輸入驗證可能導致網域劫持 (CVE-2021-3672)

- nodejs:取消串流時 close http2 會發生釋放後使用問題 (CVE-2021-22930)

- 16.6.0、14.17.4 和 12.22.4 版之前的 Node.js 容易受到遠端程式碼執行、XSS、應用程式損毀攻擊,這是因為 Node.js dns 程式庫中缺少對網域名稱伺服器所傳回的主機名稱輸入的驗證,進而導致使用該程式庫的應用程式中存在錯誤的主機名稱輸出 (導致網域劫持) 和插入弱點。(CVE-2021-22931)

- 如果 Node.js https API 使用不當,並且針對 rejectUnauthorized 參數傳入 undefined,則應用程式不會傳回任何錯誤,且會接受與具有過期憑證的伺服器的連線。(CVE-2021-22939)

- 16.6.1 、14.17.5 和 12.22.5 版之前的 Node.js 容易受到釋放後使用攻擊,攻擊者可能會利用記憶體損毀來變更處理程序的行為。(CVE-2021-22940)

- 6.1.2、5.0.7、4.4.15和 3.2.3 版之前的 npm 套件 tar (亦稱 node-tar) 因符號連結保護不充分,存在任意檔案建立/覆寫弱點。「node-tar」的目的是保證應用程式不會擷取任何會被符號連結修改位置的檔案。這部分是透過確保擷取的目錄不是符號連結來實現的。此外,為了防止不必要的「stat」呼叫以判斷指定路徑是否為目錄,在建立目錄時,應用程式會快取路徑。當擷取的 tar 檔案同時包含目錄以及與目錄同名的符號連結時,此邏輯是不充分的。此作業順序會導致應用程式建立目錄並將目錄新增至「node-tar」目錄快取。當目錄快取中存在目錄時,應用程式會略過後續對該目錄的 mkdir 的呼叫。但是,這也是「node-tar」檢查符號連結的地方。藉由先建立目錄,然後以符號連結取代該目錄,就可以繞過「node-tar」針對目錄的符號連結檢查,實際上,這允許未受信任的 tar 檔案以符號連結指向任意位置,然後將任意檔案解壓縮至該位置,從而允許建立和覆寫任意檔案。此問題已在 3.2.3、4.4.15、5.0.7 和 6.1.2 版中得到解決。(CVE-2021-32803)

- 6.1.1、5.0.6、4.4.14 和 3.3.2 版之前的 npm 套件 tar (亦稱 node-tar) 因為絕對路徑清理不充分,存在任意檔案建立/覆寫弱點。node-tar 的目的是在「preservePaths」旗標未設定為「true」時,將絕對路徑轉換為相對路徑,進而防止應用程式擷取絕對檔案路徑。這是透過從 tar 檔案中包含的任何絕對檔案路徑中去除絕對路徑 Root 來實現的。例如,「/home/user/.bashrc」會變成「home/user/.bashrc」。當檔案路徑包含重複的路徑 root (如「////home/user/.bashrc」) 時,此邏輯是不充分的。
「node-tar」只會從這些路徑中去除單一路徑 Root。當指定具有重複路徑 Root 的絕對檔案路徑時,產生的路徑 (例如「//home/user/.bashrc」) 仍會解析為絕對路徑,從而允許使用者建立和覆寫任意檔案。此問題已在 3.2.2、4.4.14、5.0.6 和 6.1.1 版中得到解決。使用者透過建立清理「entry.path」的自訂「onentry」方法,或建立移除具有絕對路徑之項目的「filter」方法,可以在不升級的情況下解決此弱點。請參閱提及的 GitHub 公告,瞭解詳情。請注意,CVE-2021-32803 修正了較新版本 tar 中的一個相似錯誤。(CVE-2021-32804)

- 所有版本的 path-parse 套件都容易受到藉由 splitDeviceRe、splitTailRe 和 splitPathRe 規則運算式觸發的規則運算式拒絕服務 (ReDoS) 攻擊。ReDoS 呈現出多項式最壞情況時間複雜度。(CVE-2021-23343)

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

解決方案

更新受影響的套件。

另請參閱

https://linux.oracle.com/errata/ELSA-2021-3666.html

Plugin 詳細資訊

嚴重性: Critical

ID: 153765

檔案名稱: oraclelinux_ELSA-2021-3666.nasl

版本: 1.6

類型: local

代理程式: unix

已發布: 2021/9/27

已更新: 2023/11/29

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

風險資訊

VPR

風險因素: Medium

分數: 6.7

CVSS v2

風險因素: High

基本分數: 7.5

時間分數: 5.9

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

CVSS 評分資料來源: CVE-2021-22931

CVSS v3

風險因素: Critical

基本分數: 9.8

時間分數: 8.8

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

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

弱點資訊

CPE: cpe:/o:oracle:linux:8, p-cpe:/a:oracle:linux:nodejs, p-cpe:/a:oracle:linux:nodejs-devel, p-cpe:/a:oracle:linux:nodejs-docs, p-cpe:/a:oracle:linux:nodejs-full-i18n, p-cpe:/a:oracle:linux:nodejs-nodemon, p-cpe:/a:oracle:linux:nodejs-packaging, p-cpe:/a:oracle:linux:npm

必要的 KB 項目: Host/OracleLinux, Host/RedHat/release, Host/RedHat/rpm-list, Host/local_checks_enabled

可被惡意程式利用: true

可輕鬆利用: Exploits are available

修補程式發佈日期: 2021/9/27

弱點發布日期: 2021/5/4

參考資訊

CVE: CVE-2021-22930, CVE-2021-22931, CVE-2021-22939, CVE-2021-22940, CVE-2021-23343, CVE-2021-32803, CVE-2021-32804, CVE-2021-3672

IAVB: 2021-B-0050-S