西蒙·麦克维蒂(Simon McVittie)揭幕 最近 识别出漏洞 (CVE-2021-21261)那 可以避免隔离空间的隔离 并在程序包部署和管理实用程序的主机系统环境中运行任意代码 Flatpak。
脆弱性 在D-Bus Flatpak-portal服务中 (Flatpak-门户 也以服务名称D-Bus着称 org.freedesktop.portal.Flatpak),它启动了“门户”的启动,这些门户用于组织对容器外部资源的访问。
关于裁决
并不是这样提到的漏洞,因为它是由于服务的运行引起的 “ Flatpak-portal”允许沙箱应用程序启动自己的子进程 在新的沙盒环境中,对其应用了相同或更强的隔离设置(例如,处理不受信任的内容)。
漏洞被利用,因为 将特定于调用过程的环境变量传递给非隔离控制器 从主机系统(例如,通过运行命令«Flatpak运行«)。 恶意应用程序可能暴露影响Flatpak执行的环境变量,并在主机端执行任何代码。
Flatpak会话帮助服务 (org.freedesktop.flatpakal 谁访问 flatpak-spawn –主机) 旨在提供标记的应用程序 特别 在主机系统上执行任意代码的能力, 因此它也不依赖于提供给它的环境变量。
授予对org.freedesktop.Flatpak服务的访问权限,表明该应用程序是可信任的,并且可以在沙盒外部合法地执行任意代码。 例如,以这种方式将GNOME Builder集成开发环境标记为受信任。
Flatpak门户的D-Bus服务允许Flatpak沙箱中的应用程序将自己的线程启动到新的沙箱中,该线程具有与调用方相同的安全设置,或者具有限制性更强的安全设置。
一个例子,是因为在使用Flatpak打包的Web浏览器中 铬,启动线程 它将处理不受信任的Web内容,并为这些线程提供比浏览器本身更严格的沙箱。
在易受攻击的版本中,Flatpak门户服务将调用者指定的环境变量传递给主机系统上未沙盒化的进程,尤其是传递给用于启动沙盒新实例的flatpak run命令。
恶意的或受感染的Flatpak应用程序可能会设置flatpak run命令信任的环境变量,并使用它们执行不在沙箱中的任意代码。
应当记住,许多flatpak开发人员禁用了隔离模式或完全访问主目录。
例如,GIMP,VSCodium,PyCharm,Octave,Inkscape,Audacity和VLC软件包具有有限的隔离模式。 如果尽管存在标签«沙盒»在软件包描述中,攻击者需要修改〜/ .bashrc文件以执行其代码。
一个单独的问题是对程序包更改的控制和对程序包创建者的信任,这些创建者通常与主项目或发行版不相关。
解
提到此问题已在Flatpak版本1.10.0和1.8.5中得到解决。,但后来在版本中进行了回归更改,导致在设置了带有setuid标志的bubblewrap支持的系统上出现编译问题。
之后,在1.10.1版中修复了上述回归问题(而1.8.x分支的更新尚不可用)。
最后 如果您有兴趣了解更多信息 关于漏洞报告,您可以查看详细信息 在下面的链接中。