摘要:
flatpak security update
安全等级: Critical
公告ID: KylinSec-SA-2024-3696
发布日期: 2024年8月23日
关联CVE: CVE-2024-42472
flatpak是一个在Linux上构建、分发和运行沙盒桌面应用程序的系统。请参阅https://wiki.gnome.org/Projects/SandboxedApps了解更多信息。
安全修复:
Flatpak 是一个 Linux 应用程序沙箱和分发框架。在 1.14.0 和 1.15.10 版本之前,一个恶意或受损的 Flatpak 应用程序如果使用了持久目录,可能会访问和写入其原本无权访问的文件,这是对完整性和机密性的攻击。
当在应用程序权限中使用 persistent=subdir(在命令行界面中表示为 --persist=subdir)时,意味着一个原本无法访问真实用户主目录的应用程序将看到一个空的主目录,但包含一个可写的子目录 subdir。在幕后,这个目录实际上是一个绑定挂载,数据存储在每个应用程序的目录中,路径为 ~/.var/app/$APPID/subdir。这允许那些不知道每个应用程序目录的现有应用程序仍然能够按预期工作,而无需访问一般的主目录。
然而,应用程序确实有权写入存储此目录的应用程序目录 ~/.var/app/$APPID。如果 persistent/--persist 选项的源目录被替换为一个符号链接,那么下次启动应用程序时,绑定挂载将跟随该符号链接,并将其指向的内容挂载到沙箱中。
可以通过使用 ceec2ffc 和 98f79773 提交中的补丁来修补 Flatpak,从而为这一漏洞提供部分保护。但是,这留下了一个竞态条件,可能会被两个并行运行的恶意应用程序实例所利用。要关闭这个竞态条件,需要更新或修补 Flatpak 使用的 bubblewrap 版本,以添加新的 --bind-fd 选项,并修补 Flatpak 以使用它。
如果 Flatpak 在构建时配置了 -Dsystem_bubblewrap=bwrap(1.15.x)或 --with-system-bubblewrap=bwrap(1.14.x 或更早版本),或类似的选项,那么需要修补的是作为单独分发包提供的系统副本 bubblewrap,通常位于 /usr/bin/bwrap。这是 Linux 发行版中通常使用的配置。
如果 Flatpak 在构建时配置了 -Dsystem_bubblewrap=(1.15.x)或 --without-system-bubblewrap(1.14.x 或更早版本),那么需要修补的是与 Flatpak 一起包含的 bubblewrap 版本,这通常安装在 /usr/libexec/flatpak-bwrap。这是从源代码构建时的默认配置。
对于 1.14.x 稳定分支,这些更改包含在 Flatpak 1.14.10 中。此版本中包含的 bubblewrap 捆绑版本已更新到 0.6.3。对于 1.15.x 开发分支,这些更改包含在 Flatpak 1.15.10 中。此版本中的 bubblewrap 捆绑版本是一个 Meson “wrap” 子项目,已更新到 0.10.0。1.12.x 和 1.10.x 分支不会针对此漏洞进行更新。长期支持的操作系统发行版应该将单独的更改回退到其 Flatpak 和 bubblewrap 版本中,或者如果其稳定性策略允许,则更新到新版本。作为权宜之计,请避免使用使用 persistent(--persist)权限的应用程序。(CVE-2024-42472)
cve名称 | 产品 | 组件 | 是否受影响 |
---|---|---|---|
CVE-2024-42472 | KY3.5.2 | flatpak | Fixed |
CVE-2024-42472 | V6 | flatpak | Fixed |
软件名称 | 架构 | 版本号 |
---|---|---|
flatpak-help | noarch | 1.10.2-9.ks6.kb1 |
flatpak | x86_64 | 1.10.2-9.ks6.kb1 |
flatpak-devel | x86_64 | 1.10.2-9.ks6.kb1 |
flatpak | aarch64 | 1.10.2-9.ks6.kb1 |
flatpak-devel | aarch64 | 1.10.2-9.ks6.kb1 |
软件名称 | 架构 | 版本号 |
---|---|---|
flatpak-help | noarch | 1.10.2-9.ky3_5.kb1 |
flatpak | x86_64 | 1.10.2-9.ky3_5.kb1 |
flatpak-devel | x86_64 | 1.10.2-9.ky3_5.kb1 |
flatpak | aarch64 | 1.10.2-9.ky3_5.kb1 |
flatpak-devel | aarch64 | 1.10.2-9.ky3_5.kb1 |
方法一:下载安装包进行升级安装
1、通过下载链接下载需要升级的升级包保存,如 xxx.rpm
2、通过rpm命令升级,如 rpm -Uvh xxx.rpm
方法二:通过软件源进行升级安装
1、保持能够连接上互联网
2、通过yum命令升级指定的包,如 yum install 包名