Oracle Linux 8:nodejs: 14 (ELSA-2022-0350)

critical Nessus Plugin ID 157333

概要

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

說明

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

- 這會影響 1.3.6 版之前的 ini 套件。如果攻擊者將惡意 INI 檔案提交至會使用 ini.parse 剖析檔案的應用程式,其會污染應用程式上的原型。視內容而定,此問題可能會遭到進一步利用。(CVE-2020-7788)

- 4.4.16、5.0.8、6.1.7 版之前的 npm 套件 tar (亦稱 node-tar) 存在任意檔案建立/覆寫和任意程式碼執行弱點。「node-tar」的目的是保證應用程式不會擷取任何會被符號連結修改位置的檔案。這部分是透過確保擷取的目錄不是符號連結來實現的。此外,為了防止不必要的「stat」呼叫以判斷指定路徑是否為目錄,在建立目錄時,應用程式會快取路徑。
在 posix 系統上,封存項目中的符號連結和目錄名稱使用反斜線作為路徑分隔符號,當擷取含有目錄和同名符號連結的 tar 檔案時,此邏輯是不充分的。快取檢查邏輯同時使用 `\` 和 `/` 字元作為路徑分隔符號,不過 `\` 在 posix 系統上是有效的檔案名稱字元。藉由先建立目錄,然後以符號連結取代該目錄,就可以繞過「node-tar」針對目錄的符號連結檢查,實際上,這允許未受信任的 tar 檔案以符號連結指向任意位置,然後將任意檔案解壓縮至該位置,從而允許建立和覆寫任意檔案。此外,不區分大小寫的檔案系統也會發生類似的混淆。如果 tar 封存包含 `FOO` 的目錄,後跟名為 `foo` 的符號連結,則在不區分大小寫的檔案系統上建立符號連結時,即會從檔案系統移除目錄,但不會從內部目錄移除快取,因為該建立進程不會被視為快取命中。`FOO` 目錄中的後續檔案項目會被放置在符號連結的目標中,並認為該目錄已經建立。這些問題已在 4.4.16、5.0.8、6.1.7 版中得到解決。node-tar 的 v3 分支已過時,且未收到這些問題的修補程式。如果您仍在使用 v3 版本,我們建議您更新至較新的 node-tar 版本。
如果無法執行此操作,請參閱 GHSA-9r2w-394v-53qc 中的因應措施。(CVE-2021-37701)

- 4.4.18、5.0.10、6.1.9 版之前的 npm 套件 tar (亦稱 node-tar) 存在任意檔案建立/覆寫和任意程式碼執行弱點。「node-tar」的目的是保證應用程式不會擷取任何會被符號連結修改位置的檔案。這部分是透過確保擷取的目錄不是符號連結來實現的。此外,為了防止不必要的「stat」呼叫以判斷指定路徑是否為目錄,在建立目錄時,應用程式會快取路徑。
當擷取的 tar 檔案同時包含目錄以及符號連結 (其名稱包含標準化為相同值的 unicode 值) 時,此邏輯是不充分的。此外,在 Windows 系統上,長路徑部分會解析為其 8.3 對應短路徑的相同檔案系統實體。因此,特製的 tar 封存可包含具有一種形式路徑的目錄,隨後是具有解析為相同檔案系統實體的不同字串的符號連結,之後是使用第一種形式的檔案。藉由先建立目錄,然後以符號連結 (具有不同的明顯名稱,且解析為檔案系統中的相同條目) 取代該目錄,就可以繞過「node-tar」針對目錄的符號連結檢查,實際上,這允許未受信任的 tar 檔案以符號連結指向任意位置,然後將任意檔案解壓縮至該位置,從而允許建立和覆寫任意檔案。這些問題已在 4.4.18、5.0.10、6.1.9 版中得到解決。
node-tar 的 v3 分支已過時,且未收到這些問題的修補程式。如果您仍在使用 v3 版本,我們建議您更新至較新的 node-tar 版本。如果無法執行此操作,請參閱 GHSA-qq89-hq3f-393p 中的因應措施。(CVE-2021-37712)

- 這會影響低於 5.1.2 版本的 glob-parent 套件。enclosure regex 先前用於檢查以包含路徑分隔符號的 enclosure 結尾的字串。(CVE-2020-28469)

- ansi-regex 容易受到低效規則運算式複雜性的影響 (CVE-2021-3807)

- json-schema 容易受到受控不當修改物件原型內容 (「原型污染」) 的影響 (CVE-2021-3918)

- 在適用 Node.js 的低於 4.5.1 版的 normalize-url、低於 5.3.1 版的 normalize-url 5.x 以及低於 6.0.1 版的 normalize-url 6.x 套件中,存在一個 ReDoS (規則運算式拒絕服務) 問題,這是由於這些套件對於 data: URL 具有指數性能所致。
(CVE-2021-33502)

- 剖析器接受冒號前的標頭名稱後帶有一個空格 (SP) 的要求。這可導致低於 2.1.4 版和 6.0.6 版的 llhttp 發生 HTTP 要求走私。(CVE-2021-22959)

- 在低於 2.1.4 版和 6.0.6 版的 llhttp 中,parse 函式在剖析區塊要求的內文時會忽略區塊延伸模組。在某些情況下,這會導致 HTTP 要求走私 (HRS)。(CVE-2021-22960)

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

解決方案

更新受影響的套件。

另請參閱

https://linux.oracle.com/errata/ELSA-2022-0350.html

Plugin 詳細資訊

嚴重性: Critical

ID: 157333

檔案名稱: oraclelinux_ELSA-2022-0350.nasl

版本: 1.4

類型: local

代理程式: unix

已發布: 2022/2/2

已更新: 2023/11/17

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

風險資訊

VPR

風險因素: High

分數: 7.3

CVSS v2

風險因素: High

基本分數: 7.5

時間分數: 6.2

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

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

CVSS v3

風險因素: Critical

基本分數: 9.8

時間分數: 9.1

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

時間媒介: CVSS:3.0/E:F/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

修補程式發佈日期: 2022/2/2

弱點發布日期: 2020/12/11

參考資訊

CVE: CVE-2020-28469, CVE-2020-7788, CVE-2021-22959, CVE-2021-22960, CVE-2021-33502, CVE-2021-37701, CVE-2021-37712, CVE-2021-3807, CVE-2021-3918

IAVB: 2021-B-0059-S