GLSA-202312-12:Flatpak:多个漏洞

high Nessus 插件 ID 187282

语言:

描述

远程主机受到 GLSA-202312-12 中所述漏洞的影响(Flatpak:多个漏洞)

- Flatpak 是一个用于在 Linux 上构建、分发和运行沙盒式桌面应用程序的系统。0.9.4 至 1.10.2 版本的 Flatpack 的文件转发功能中存在一个漏洞,攻击者可利用此漏洞访问通常不被应用程序权限允许的文件。通过在 Flatpak 应用程序的 .desktop 文件的 Exec 字段中放置特殊标记“@@”和/或“@@u”,恶意应用程序发布者可欺骗 flatpak,使其表现为用户选择使用自己的 Flatpak 应用程序来打开目标文件,从而自动使该文件可用于 Flatpak 应用程序。此问题已在 1.10.2 版本中修复。最小限度的解决方案是第一次提交“不允许在桌面文件中使用 @@ 和 @@U”。推荐使用后续提交 `dir: Reserve the whole @@ prefix` 和 `dir: Refuse to export .desktop files with suspicious uses of @@ tokens`,但并非严格要求。作为变通方案,避免安装来自不受信任来源的 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 的拒绝列表 seccomp 过滤器阻止的与挂载相关的最近 syscall 来操纵 VFS,以便替换构建的「/.flatpak-info」或使该文件完全消失。充当 AF_UNIX 套接字客户端的 Flatpak 应用程序(例如在 Wayland、Pipewire 或 pipewire-pulse 中使用)可提升相应服务认为 Flatpak 应用程序具有的权限。请注意,完全在 D-Bus 会话总线(用户总线)、系统总线或可访问性总线上运行的协议不受此影响。这是由于使用了代理进程「xdg-dbus-proxy」,在与这些总线交互时,其 VFS 无法被 Flatpak 应用程序操纵。目前已有针对版本 1.10.4 和 1.12.0的修补程序,截至发布时,正在计划 1.8.2 版的修补程序。除了升级到修补过的版本外,没有其他变通方案。(CVE-2021-41133)

- Flatpak 是一种 Linux 应用程序沙盒和分发框架。在 Flatpak 1.12.3 和 1.10.6 之前版本中,如果应用程序元数据文件中有空字节,Flatpak 将无法正确验证应用程序在安装时显示给用户的权限是否与运行时授予应用程序的实际权限相匹配。因此,应用程序可在未经用户同意的情况下自行授予权限。
Flatpak 可以在安装期间通过从提交元数据的 xa.metadata 密钥中读取权限来向用户显示权限。其中不可能包含空终止符,因为它是不受信任的 GVariant。Flatpak 会将这些权限与元数据文件中的*实际*元数据进行比较,以确保其未被欺骗。
但是,实际的元数据内容会在多个被读取为简单 C 样式字符串的位置进行加载。这意味着,如果元数据文件包含空终止符,则只会将终止符*之前*的文件内容与 xa.metadata 进行比较。因此,系统会在运行时应用元数据文件中在空终止符之后出现的任何权限,但不会将这些权限显示给用户。因此,恶意构建的应用程序可为自身提供隐藏权限。如果用户安装了来自不受信任来源的 Flatpak,且其中存在因初始化或更新产生的恶意构建的元数据文件,用户将面临风险。此问题已在 1.12.3 和 1.10.6 版本中得到修补。有一种变通方案是,用户可通过检查元数据文件或提交元数据上的 xa.metadata 密钥,手动检查已安装应用程序的权限。
(CVE-2021-43860)

- Flatpak 是一种 Linux 应用程序沙盒和分发框架。Flatpak 1.12.3 之前版本和 1.10.6 版受到路径遍历漏洞影响,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 尚未测试这些问题,而是只依据应用程序自我报告的版本号进行判断。

解决方案

所有 Flatpck 用户均应升级到最新版本:

# 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

插件详情

严重性: 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