安全研究人员马库斯哈钦斯公布了一个新的开源工具,旨在帮助管理员和安全专业人员识别通用Unix打印系统(CUPS)的易受的实例,该系统广泛应用于UNIX和类似UNIX系统。该工具对于检测由于CUPS中新发现的一系列漏洞而可能被利用的系统至关重要,这些漏洞可能导致远程代码执行(RCE)。
CUPS是许多基于UNIX的环境中的一个基本组件,用于管理网络打印并为打印任务提供一个可靠的框架。它在Linux甚至一些苹果设备上的广泛使用使其成为主要的目标。最近,在CUPS中发现了一系列关键漏洞-CVE-2024-47176、CVE-2024-47076、CVE-2025-47175和CVE-2024-48177,使得攻击者能够远程添加或重新配置网络打印机,并在易受攻击的系统上执行任意代码。
这个漏洞链的核心是CVE-2024-47176,这是杯子浏览守护程序中的一个关键缺陷。此缺陷源于以下事实:cups-browsed通过INADDR_ANY将其控制端口(UDP端口631)绑定到所有可用的网络接口,包括外部接口。更糟糕的是,此服务不对传入请求进行身份验证,这意味着任何能够到达此端口的攻击者都可以利用此漏洞。
本质上,该缺陷允许攻击者欺骗cups-browsed接触恶意服务器,启动可能导致系统完全受损的过程。这尤其危险,因为该漏洞可以远程和通过本地网络利用,可能允许组织内的横向移动。
认识到这些漏洞的严重性,Marcus Hutchins已经释放cups_scanner.py,这是一个基于Python的工具,旨在自动扫描本地网络中易受的cups浏览实例的过程。该工具通过执行以下操作,简化了手动检测易受设备的复杂过程:
设置一个基本的HTTP服务器(不需要标识为打印机,因为我们不会利用RCE漏洞)。
编写UDP数据包,指示浏览过的杯子连接到我们的HTTP服务器。
将UDP数据包发送给端口631上给定范围内的每个IP。
将所有POST请求记录到/printers/端点,这些请求由易受的杯子浏览实例触发。
CUPS中的漏洞是一颗定时炸弹,特别是CVE-2024-47176漏洞,可能会让攻击者在组织的网络中站稳脚跟。由于杯子浏览服务通常暴露于本地网络,管理员必须立即扫描并修补任何易受的实例。