GLSA-202312-12: Flatpak:多個弱點

high Nessus Plugin ID 187282

語系:

說明

遠端主機受到 GLSA-202312-12 中所述的弱點影響 (Flatpak:多個弱點)

- Flatpak 是用來在 Linux 上建置、發佈和執行沙箱化桌面應用程式的系統。Flatpack 0.9.4 之後版本以及 1.10.2 之前版本的檔案轉送功能中有一個弱點,攻擊者可利用此弱點存取應用程式權限通常不允許存取的檔案。透過在 Flatpak 應用程式的 .desktop 檔案的 Exec 欄位中放置特殊 token「@@」和/或「@@u」,惡意應用程式發佈者可誘騙 flatpak 發揮作用,如同使用者已選擇以其 Flatpak 應用程式開啟目標檔案,其可自動將檔案提供給 Flatpak 應用程式。此問題已在 1.10.2 版中修正。一個最小的解決方案是第一次提交「不允許在 desktop 檔案中使用 @@ 和 @@U」。後續提交「dir: 保留整個 @@ 前置詞」和「dir: 拒絕匯出疑似使用 @@ token 的 .desktop 檔案」,但這並非嚴格要求。作為因應措施,請避免從未受信任的來源安裝 Flatpak 應用程式,或檢查「exports/share/applications/*.desktop」中已匯出的「.desktop」檔案 (通常是「~/.local/share/flatpak/exports/share/applications/*.desktop」和「/var/lib/flatpak/exports/share/applications/*.desktop」) 的內容,以確保常值檔案名稱不遵循「@@」或「@@u」。(CVE-2021-21381)

- Flatpak 是用來在 Linux 上建置、發佈和執行沙箱化桌面應用程式的系統。在 1.10.4 和 1.12.0 之前的版本中,可直接存取 AF_UNIX 通訊端的 Flatpak 應用程式 (例如 Wayland、Pipewire 或 pipewire-pulse 所使用的應用程式),可誘騙入口網站和其他主機作業系統服務,將 Flatpak 應用程式視為普通應用程式,非沙箱化主機作業系統處理程序。為了取代特製的 `/.flatpak-info` 或使該檔案完全消失,攻擊者可以使用最近的掛載相關的系統呼叫 (未由 Flatpak 的拒絕清單 seccomp 篩選器封鎖) 來操控 VFS。作為 AF_UNIX 通訊端用戶端的 Flatpak 應用程式 (例如 Wayland、Pipewire 或 pipewire-pulse 所使用的通訊端),可提升對應服務認為 Flatpak 應用程式擁有的權限。請注意,完全在 D-Bus 工作階段匯流排 (使用者匯流排)、系統匯流排或協助工具匯流排上運作的通訊協定不受此弱點影響。這是因為在與這些匯流排互動時,使用 Proxy 處理程序 `xdg-dbus-proxy`,其 VFS 無法由 Flatpak 應用程式操控。存在 1.10.4 和 1.12.0 版中的修補程式,截至發佈時,正在規劃 1.8.2 版的修補程式。除了升級至修補版本外,沒有其他因應措施。(CVE-2021-41133)

- Flatpak 是一種 Linux 應用程式沙箱和發布架構。如果應用程式的中繼資料檔案中有 null 位元組,Flatpak 1.12.3 和 1.10.6 之前版本將無法正確驗證在安裝時向使用者顯示的應用程式權限是否與在執行時授予應用程式的實際權限相符。因此,應用程式可在未經使用者同意的情況下自行授予權限。
Flatpak 可以在安裝期間,透過從提交中繼資料中的 xa.metadata 金鑰讀取權限,向使用者顯示權限。其中不會包含 null 結束字元,因為它是不受信任的 GVariant。Flatpak 會將這些權限與中繼資料檔案中的*實際*中繼資料進行比較,以確保其未遭偽造。
不過,實際的中繼資料內容會在數個位置載入,並作為簡單的 C 樣式字串加以讀取。這表示,如果中繼資料檔案包含 null 結束字元,則只會將結束字元*之前*的檔案內容與 xa.metadata 進行比較。因此,任何出現在 NULL 結束字元之後的中繼資料權限都會在運行時間套用,但不會顯示給使用者。因此,惡意建構的應用程式可自行提供隱藏權限。如果 Flatpak 在初始化或在更新期間產生惡意建構的中繼資料檔案,則從不受信任的來源安裝 Flatpak 的使用者將處於危險之中。此問題已在 1.12.3 和 1.10.6 版本中得到修正。有一種因應措施是,使用者可以透過檢查提交中繼資料上的中繼資料檔案或 xa.metadata 金鑰,手動檢查已安裝應用程式的權限。
(CVE-2021-43860)

- Flatpak 是一種 Linux 應用程式沙箱和發布架構。1.12.3 之前版本和 1.10.6 版 Flatpak 受到路徑遊走弱點影響。flatpak-builder 在此版本的最後套用了「finish-args」。此時,此版本目錄將具有清單中指定的完整存取權。因此,若針對該目錄執行「flatpak build」,將取得這些權限。使用者通常不會這樣做,所以這不是問題。但是,如果指定「--mirror-screenshots-url」,則 flatpak-builder 將在完成後啟動「flatpak build --nofilesystem=host appstream-utils mirror-screenshots」,即使使用「--nofilesystem=host」保護也會導致問題。在正常使用中,唯一的問題是,只要使用者具有寫入權限,就可以建立這些空目錄。不過,惡意應用程式可取代「appstream-util」二進位檔,並可能執行更惡意的操作。已在 Flatpak 1.12.3 和 1.10.6 中解決此問題,方法是變更「--nofilesystem=home」和「--nofilesystem=host」的行為。(CVE-2022-21682)

- Flatpak 是用來在 Linux 上建置、發佈和執行沙箱化桌面應用程式的系統。
1.10.8、1.12.8、1.14.4 和 1.15.4 之前版本包含與 CVE-2017-5226 類似的弱點,但使用的是 `TIOCLINUX` ioctl 命令,而非 `TIOCSTI`。如果在 Linux 虛擬主控台 (例如 `/dev/tty1`) 上執行 Flatpak 應用程式,則它可從虛擬主控台複製文字並將之貼到命令緩衝區中,在 Flatpak 應用程式結束後從該緩衝區執行命令。xterm、gnome-terminal 和 Konsole 等一般圖形終端機模擬器不受影響。僅 Linux 虛擬主控台 `/dev/tty1`、`/dev/tty2` 等會受此弱點影響。已在 1.10.8、1.12.8、1.14.4 和 1.15.4 版中提供修補程式。因應措施為不在 Linux 虛擬主控台上執行 Flatpak。Flatpak 主要用於 Wayland 或 X11 圖形環境。(CVE-2023-28100)

- Flatpak 是用來在 Linux 上建置、發佈和執行沙箱化桌面應用程式的系統。在 1.10.8、1.12.8、1.14.4 和 1.15.4 之前的版本中,如果攻擊者以提升的權限發布 Flatpak 應用程式,他們就可透過將其他權限設定為包含不可列印之控製字元 (例如 `ESC`) 的特製值,從而向 `flatpak(1)` 命令行介面的使用者隱藏這些權限。1.10.8、1.12.8、1.14.4 和 1.15.4 版現已提供修正。因應措施為使用 GNOME 軟體之類的 GUI 而非命令行介面,或只安裝維護者受您新任的應用程式。
(CVE-2023-28101)

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

解決方案

所有 Flatpak 使用者皆應升級至最新版本:

# emerge --sync # emerge --ask --oneshot --verbose >=sys-apps/flatpak-1.14.4

另請參閱

https://security.gentoo.org/glsa/202312-12

https://bugs.gentoo.org/show_bug.cgi?id=775365

https://bugs.gentoo.org/show_bug.cgi?id=816951

https://bugs.gentoo.org/show_bug.cgi?id=831087

https://bugs.gentoo.org/show_bug.cgi?id=901507

Plugin 詳細資訊

嚴重性: High

ID: 187282

檔案名稱: gentoo_GLSA-202312-12.nasl

版本: 1.0

類型: local

已發布: 2023/12/23

已更新: 2023/12/23

支援的感應器: Nessus

風險資訊

VPR

風險因素: High

分數: 7.3

CVSS v2

風險因素: Medium

基本分數: 6.8

時間分數: 5

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

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

CVSS v3

風險因素: High

基本分數: 8.6

時間分數: 7.5

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

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

弱點資訊

CPE: p-cpe:/a:gentoo:linux:flatpak, cpe:/o:gentoo:linux

必要的 KB 項目: Host/local_checks_enabled, Host/Gentoo/release, Host/Gentoo/qpkg-list

可輕鬆利用: No known exploits are available

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

弱點發布日期: 2021/3/10

參考資訊

CVE: CVE-2021-21381, CVE-2021-41133, CVE-2021-43860, CVE-2022-21682, CVE-2023-28100, CVE-2023-28101