Ubuntu 16.04 ESM:runC 弱點 (USN-6088-2)

high Nessus Plugin ID 176257

概要

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

說明

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

- 1.0.0-rc9 及之前的 runc 版本含有可導致權限提升的錯誤存取控制,此問題與 libcontainer/rootfs_linux.go 有關。若要利用此問題,攻擊者必須能夠生成兩個具有自訂 volume-mount 組態的容器,並且能夠執行自訂影像。(此弱點不會影響 Docker,因為實作的詳細資料恰好封鎖了攻擊。) (CVE-2019-19921)

- runc 是一種 CLI 工具,用於根據 OCI 規範在 Linux 上產生並執行容器。在 runc 中,netlink 在內部用作序列化系統,用於將相關容器組態指定給程式碼的「C」部分 (負責容器的基礎命名空間設定)。在 1.0.3 之前的所有 runc 版本中,編碼器並未處理位元組陣列屬性類型的 16 位元長度欄位中發生整數溢位的可能性,這表示惡意的位元組陣列屬性可能會導致長度溢位以及將屬性內容剖析為容器組態的 netlink 訊息。此弱點需要攻擊者對容器的組態有一定控制權,並允許攻擊者簡單新增他們自己的 netlink 承載 (停用所有命名空間),從而繞過容器的命名空間限制。受影響的主要使用者為允許在其計算機上執行具有不受信任組態的不受信任影像 (例如使用共用雲端基礎結構) 的使用者。runc 版本 1.0.3 包含此錯誤的修正。因應措施為:嘗試禁止來自容器的不受信任命名空間路徑。請注意,即使沒有此錯誤,不受信任的命名空間路徑也會允許攻擊者完全停用命名空間保護。(CVE-2021-43784)

- runc 是一種 CLI 工具,用於根據 OCI 規範在 Linux 上產生並執行容器。在 1.1.2 版之前的 runc 中發現一個錯誤,其中「runc exec --cap」以非空白的可繼承 Linux 處理程序功能建立處理程序,進而建立非典型的 Linux 環境,並使具有可繼承檔案功能的程式能夠在 execve(2) 期間將這些功能提升至允許的集合。這個錯誤不會影響容器安全沙箱,因為可繼承集包含的功能絕不會超過容器邊界集中包含的功能。此錯誤已在 runc 1.1.2 中修正。此修正變更了「runc exec --cap」的行為,使得向正在執行的處理程序授予的其他功能 (透過「--cap」引數指定) 不包含可繼承的功能。此外,「runc spec」已變更為不在所建立的範例 OCI 規格 (「config.json」) 中設定任何可繼承的功能。(CVE-2022-29162)

- runc 是一種 CLI 工具,用於根據 OCI 規範產生並執行容器。據發現,在受影響的版本中,rootless runc 使「/sys/fs/cgroup」在下列情況下可寫入:1. 在使用者命名空間內執行 runc,且「config.json」未指定取消共用的 cgroup 命名空間時 (例如,「(docker|podman|nerdctl) run --cgroupns=host」,使用 Rootless Docker/ Podman/nerdctl) 或 2. 在使用者命名空間之外執行 runc,且「/sys」掛載了「rbind, ro」(例如「runc spec --rootless」;此情形非常罕見)。容器可取得主機上使用者擁有的 cgroup 階層「/sys/fs/cgroup/user.slice/...」的寫入存取權。其他使用者的 cgroup 階層不受影響。
建議使用者升級至 1.1.5 版。無法升級的使用者可能取消共用 cgroup 命名空間 (「(docker|podman|nerdctl) run --cgroupns=private)」。這是 cgroup v2 主機上 Docker/Podman/nerdctl 的預設行為。或新增「/sys/fs/cgroup」至「maskedPaths」。(CVE-2023-25809)

- 1.1.4 及之前的 runc 版本含有可導致權限提升的錯誤存取控制,此問題與 libcontainer/rootfs_linux.go 有關。若要利用此問題,攻擊者必須能夠生成兩個具有自訂 volume-mount 組態的容器,並且能夠執行自訂影像。注意:此問題之所以存在,是因為 CVE-2019-19921 迴歸造成。(CVE-2023-27561)

- runc 是一種 CLI 工具,用於根據 OCI 規範產生並執行容器。據發現,當容器內的「/proc」與特定掛載組態進行符號連結時,可繞過 AppArmor。此問題已在 runc 版本 1.1.5 中修正,方法是禁止符號連結「/proc」。詳細資訊請查看 PR #3785。我們建議使用者進行升級。無法升級的使用者應避免使用不受信任的容器映像。(CVE-2023-28642)

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

解決方案

更新受影響的 golang-github-opencontainers-runc-dev 和/或 runc 套件。

另請參閱

https://ubuntu.com/security/notices/USN-6088-2

Plugin 詳細資訊

嚴重性: High

ID: 176257

檔案名稱: ubuntu_USN-6088-2.nasl

版本: 1.1

類型: local

代理程式: unix

已發布: 2023/5/23

已更新: 2023/10/20

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

風險資訊

VPR

風險因素: Medium

分數: 6.7

CVSS v2

風險因素: Medium

基本分數: 6

時間分數: 4.7

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

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

CVSS v3

風險因素: High

基本分數: 7.8

時間分數: 7

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

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

CVSS 評分資料來源: CVE-2023-28642

弱點資訊

CPE: cpe:/o:canonical:ubuntu_linux:16.04:-:esm, p-cpe:/a:canonical:ubuntu_linux:golang-github-opencontainers-runc-dev, p-cpe:/a:canonical:ubuntu_linux:runc

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

可被惡意程式利用: true

可輕鬆利用: Exploits are available

修補程式發佈日期: 2023/5/23

弱點發布日期: 2020/1/28

參考資訊

CVE: CVE-2019-19921, CVE-2021-43784, CVE-2022-29162, CVE-2023-25809, CVE-2023-27561, CVE-2023-28642

USN: 6088-2