在今年9月份,CUPS被发现有多个严重漏洞!随后各个漏洞扫描设备增加了对CUPS漏洞的检测。
CUPS 是一个用于在类 UNIX 操作系统上管理打印任务的开源打印系统。它允许用户通过网络共享打印机、管理打印队列以及处理打印作业。
由于CUPS几乎是所有类Unix系统上都会安装的程序,所以此次漏洞在国产电脑,Linux的Ubuntu、RedHat中广泛存在。
此漏洞涉及多个组件,影响版本基本是2.1b1(含)以前版本
导致远程代码执行的攻击链是通过串联 CUPS 不同组件中的多个漏洞实现的
- CVE-2024-47176 影响
cups-browsed
,导致 CUPS 打印服务绑定到 0.0.0.0 而非 localhost。这使得远程攻击者能够安装由攻击者控制的远程打印机。 - CVE-2024-47076 在
libcupsfilters
中允许攻击者向 CUPS 提供恶意打印机属性。 - CVE-2024-47175 在
libppd
中允许攻击者向临时 PostScript 打印机描述(PPD)文件写入恶意打印机属性。 - CVE-2024-47177 在
cups-filters
中是一个代码注入漏洞,允许攻击者在使用恶意打印机时触发恶意代码。
整改方法
1、去系统官网获取安全补丁
国产电脑,直接去对应系统的官网去寻找补丁,比如官网的安全中心,安全通知等等页面。系统自带的生态中心,安全中心应用里更新也是可以的。
这里以麒麟系统和统信系统为例
麒麟系统
麒麟系统,可以到“https://www.kylinos.cn/support/loophole/patch.html“搜索“cups”,查看最新安全通告。打开最新的通告,获取最新补丁。

可以按照官网提供的方法进行更新,此方法行不通,再使用方法二

统信系统
统信系统,可以到 “https://src.uniontech.com/#/security_advisory”搜索cups,由于风险大多存在于政务外网终端。所以操作系统那里选择桌面专业版,优先点击最新的那个。获取修补方法

点击进去后,统信会提供便捷的补丁工具,如图
选择对应的架构,进行下载适合自己系统的工具包,然后双击运行。即可安装补丁
2、通过命令更新软件包
此方法适用于无法在系统官网找到补丁的情况。这里使用麒麟系统作为演示,包管理工具是apt,Ubuntu与此一样。其他系统使用yum之类,要注意区分。
不会使用上面命令的,按照这个办法来。
在电脑桌面右键,点击打开终端

然后输入dpkg -l|grep cups
可以看到输出了CUPS包列表,后面显示的是版本

如果你的版本属于风险版本,就立即更新,命令如下
1sudo apt update

然后执行
1sudo apt install cups

输入“Y”,按回车,系统就会安装最新的CUPS
没有报错,就是升级完成,如图

再次执行dpkg -l|grep cups
即可查看当前版本号。
3、通过补丁包更新程序
一些时候,厂商还没有更新源,或者网络故障,或者不出网电脑。在更新时可以使用离线补丁包进行安装。
去官网找到补丁包链接,然后根据自己的架构去下载,比如amd64、mips、loongarch
系统使用deb文件时
可以直接双击安装
也可以执行sudo dpkg -i 文件名
安装
系统使用rpm文件时
执行sudo rpm -ivh 文件名
进行安装