编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

CUPS漏洞允许Linux远程代码执行,但有一个条件

wxchong 2024-10-02 01:35:25 开源技术 12 ℃ 0 评论

#头条创作挑战赛#

快速导读

在CUPS开源打印系统中,安全研究员Simone Margaritelli发现了一系列漏洞,可能导致攻击者在特定条件下远程执行任意代码。这些漏洞包括CVE-2024-47076、CVE-2024-47175、CVE-2024-47176和CVE-2024-47177。CUPS是Linux及类Unix操作系统中广泛使用的打印系统,其cups-browsed守护进程可在网络中发现共享打印机,但在大多数系统中默认未启用。攻击者可以利用该守护进程的漏洞,通过UDP端口631创建恶意打印机描述,诱使用户发送打印任务,从而在其计算机上执行恶意命令。红帽将这些漏洞评为“重要”级别,建议管理员停止cups-browsed服务以防止攻击。虽然目前没有补丁,但可以通过命令行验证服务状态以确保系统安全。

CUPS开源打印系统中的漏洞

在特定条件下,攻击者可以利用通用UNIX打印系统(CUPS)各个组件中的一系列漏洞,远程执行任意代码于易受攻击的机器上。这些漏洞被跟踪为CVE-2024-47076(libcupsfilters)、CVE-2024-47175(libppd)、CVE-2024-47176(cups-browsed)和CVE-2024-47177(cups-filters)。这些漏洞由安全研究员Simone Margaritelli发现。重要的是,这些安全缺陷不会影响以默认设置配置的系统。

CUPS是Linux操作系统中最常用的打印系统,同时也通常在类Unix操作系统如FreeBSD、NetBSD和OpenBSD及其衍生版本上得到支持。其关键组件之一,cups-browsed守护进程,积极搜索本地网络中发布的网络或共享打印机,使其能够在机器上进行打印。这一功能类似于运行Windows和macOS的设备如何通过网络找到远程打印机。

漏洞利用方式

Margaritelli发现,如果cups-browsed守护进程被启用(而在大多数系统中通常并非如此),它会监听UDP端口631。默认情况下,它允许网络上任何设备的远程连接来创建新打印机。他发现自己可以创建一个恶意的PostScript打印机描述(PPD),并可以手动将其发布到在UDP端口631上运行的暴露的cups-browsed服务。这导致远程机器自动安装恶意打印机,使其可以进行打印。如果暴露的服务器上的用户向新打印机发送打印任务,嵌入在PPD中的恶意命令将在他们的计算机上本地执行。

在打印过程中执行的命令是通过foomatic-rip过滤器引入的,该过滤器负责在设备上执行命令,以确保打印作业正确渲染。尽管这是一个可能导致远程代码执行的漏洞链,但必须强调,攻击者在成功利用这些缺陷时面临若干障碍。目标系统必须启用cups-browsed守护进程,这通常不是默认设置,从而暴露其UDP端口于网络。此外,攻击者必须欺骗用户从意外出现在其本地网络上的恶意打印服务器进行打印。

缓解措施和严重性评级

由于这些漏洞的性质,红帽将其分类为“重要”严重性影响,而非危急。尽管BleepingComputer进行的测试表明,他们的大多数Linux服务器默认未启用cups-browsed服务,但一些用户,包括在Ubuntu虚拟机上的用户,发现该服务是启用的。目前尚无可用的补丁,但红帽提供了缓解措施,要求管理员停止cups-browsed服务的运行,并防止其在重启时启动。这可以通过以下命令完成:


sudo systemctl stop cups-browsed
sudo systemctl disable cups-browsed

此外,红帽用户可以通过执行以下命令来验证系统上是否活跃cups-browsed:


sudo systemctl status cups-browsed

如果输出显示“Active: inactive (dead)”,则漏洞链有效地被阻止,系统不再易受攻击。相反,如果输出显示“running”或“enabled”,并且配置文件/etc/cups/cups-browsed.conf中的“BrowseRemoteProtocols”指令包含值“cups”,则系统仍然处于易受攻击状态。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表