影响 Linux、Unix 系统的 CUPS 漏洞可导致 RCE
在经过大量炒作和第三方过早泄露信息之后,安全研究员 Simone Margaritelli 公布了有关通用 UNIX 打印系统 (CUPS) 中的四个零日漏洞的详细信息。
这些漏洞可被远程、未经身份验证的攻击者滥用,在易受攻击的 Linux 和类 Unix 系统上实现代码执行。
CUPS 漏洞
CUPS 是一个开源打印系统,允许安装了 的计算机充当打印服务器。
它由 Linux 基金会旗下的自由软件组织 OpenPrinting 开发。
CUPS 通过互联网打印协议 (IPP) 重定向并管理客户端计算机提交到本地或网络连接打印机的打印作业。
Margaritelli(又名 EvilSocket)发现的漏洞影响多个 CUPS 组件/包:
CVE-2024-47176,位于cups-browsed(最高版本 2.0.1)辅助守护进程中,允许攻击者通过 IPP 默认端口(UDP 631)提交数据包,并诱骗其请求任意的、攻击者控制的 URL
libcupsfilters (最高版本 2.1b1)中存在CVE-2024-47076,允许攻击者将恶意数据传递给其他 CUPS 组件
CVE-2024-47175,存在于libppd (最高版本 2.1b1)中,允许攻击者在临时PPD 文件中注入恶意数据,并将其传递给 CUPS 组件
cups-filters (最高版本 2.0.1)中存在CVE-2024-47177,允许攻击者通过FoomaticRIPCommandLine PPD 参数执行任意命令
通过串联这些缺陷,远程未经身份验证的攻击者可以悄悄地用恶意的 IPP URL 替换现有打印机的 IPP URL(或安装新的打印机)。
从而导致在启动打印作业时(从该计算机)在计算机上执行任意命令。
但是,要触发命令执行,用户必须在恶意打印机上启动打印作业。
研究人员指出:“根据研究人员的披露博客,如果 UDP 端口 631 暴露且易受攻击的服务正在监听,则受影响的系统可以从公共互联网或跨网段被利用。
谁受到影响以及该怎么办?
大多数 Linux 发行版和一些 BSD 发行版都使用CUPS 。
有些默认启用它,有些则不启用。(macOS 和 iOS 也附带了CUPS 版本。)
OpenPrinting 发布了针对 CVE-2024-47176 的一些修复和临时解决方法,各个发行版正在致力于移植它们。
在等待更新的 CUPS 软件包时,Margaritelli 建议禁用和/或删除cups-browsed服务。
如果您的系统无法更新,并且由于某种原因您依赖此服务,请阻止所有到 UDP 端口 631 的流量以及可能的所有 DNS-SD 流量。
Red Hat 解释了其客户如何检查cups-browsed是否在其系统上运行以及如何阻止其运行并在重启时重新启动。
Margaritelli 表示,他发现了数十万台可能存在漏洞的设备。
Tenable 的研究人员尝试使用 Shodan 和 FOFA(互联网连接设备搜索引擎),发现“大量主机似乎可以访问互联网,大多数结果都使用默认端口 631。”
到目前为止,尚无关于这些漏洞被野外攻击者利用的报告,但概念验证(PoC)漏洞 – 包括 Margaritelli 的漏洞 – 是公开的。
Tenable 高级研究工程师表示:“从我们掌握的信息来看,这些漏洞的级别还不及 Log4Shell 或 Heartbleed。”
对于正在研究这些最新漏洞的组织来说,必须强调的是,最具影响力和最令人担忧的漏洞是已知漏洞。
这些漏洞继续被与民族国家有联系的高级持续性威胁团体以及勒索软件附属组织所利用,这些勒索软件附属组织每年从企业窃取数百万美元。