漏洞描述
cups-browsed是Common UNIX Printing System(CUPS)的一部分,一个开源的打印系统,广泛用于Linux和其他类UNIX操作系统。cups-browsed服务的主要功能是在本地网络上自动发现和添加打印机。它使用mDNS(多播DNS)或DNS-SD(DNS服务发现)协议来侦测网络上的打印设备,这样用户就无需手动配置即可使用这些网络打印机。
简而言之,cups-browsed服务通过自动搜索和列出可用的网络打印机,简化了网络打印机的使用和管理。然而,值得注意的是,该服务在过去曾被披露存在安全漏洞,因此,如果不需要该服务,建议禁用并删除,或者确保CUPS系统已更新到最新版本以降低潜在风险。。
cups-browsed 默认监听 631 端口,由于受影响版本的 cups-browsed 未对数据包做校验,导致未授权攻击者可以组合利用 cups 的 libcupsfilters、libppd、cups-filters 的漏洞,最终通过 cups-filters 的 FoomaticRIPCommandLine 执行任何命令,目前官方尚未发布修复版本。
漏洞名称 | CUPS 远程命令执行漏洞 |
---|---|
漏洞类型 | 暴露危险的方法或函数 |
发现时间 | 2024-09-27 |
漏洞影响广度 | – |
MPS 编号 | MPS-aub6-7vzr |
CVE 编号 | CVE-2024-47176 |
CNVD 编号 | – |
影响范围
cups_browsed@(-∞, 2.0.1]
修复方案-1
使用安全设备拦截暴露在公网的 631 UDP 端口
修复方案-2
禁用或移除cups-browsed服务,为了禁用或移除
cups-browsed
服务,你可以按照以下步骤进行操作。这些步骤将涵盖确定服务状态、停止服务、禁用服务自动启动,以及(可选)移除服务软件包。
1. 确定cups-browsed
服务状态
首先,你需要检查
cups-browsed
服务的当前状态。你可以使用以下命令:
sudo systemctl status cups-browsed
这个命令将显示
cups-browsed
服务的状态,包括是否正在运行、是否启用自动启动等。
2. 停止cups-browsed
服务
如果
cups-browsed
服务正在运行,你可以使用以下命令停止它:
sudo systemctl stop cups-browsed
这个命令将立即停止
cups-browsed
服务。
3. 禁用cups-browsed
服务自动启动
要防止
cups-browsed
服务在系统启动时自动启动,你可以使用以下命令禁用它:
sudo systemctl disable cups-browsed
这个命令将配置系统,以便在下次启动时不会自动启动
cups-browsed
服务。
4. (可选)移除cups-browsed
服务软件包
如果你不再需要
cups-browsed
服务,并且希望完全移除它,你可以使用你的包管理器来卸载相应的软件包。对于基于Debian的系统(如Ubuntu),你可以使用以下命令:
sudo apt-get remove --purge cups-browsed
对于基于RPM的系统(如Fedora或CentOS),你可以使用以下命令:
sudo yum remove cups-browsed # 或者使用 dnf,取决于你的系统版本
这些命令将完全移除
cups-browsed
软件包及其相关文件。
按照这些步骤操作后,
cups-browsed
服务将被停止、禁用自动启动(如果需要),并且可以从系统中完全移除(如果你选择了这一步)。