影响 Linux、Unix 系统的 CUPS 漏洞可导致 RCE

news/2024/12/22 9:43:44/

在经过大量炒作和第三方过早泄露信息之后,安全研究员 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。”

对于正在研究这些最新漏洞的组织来说,必须强调的是,最具影响力和最令人担忧的漏洞是已知漏洞

这些漏洞继续被与民族国家有联系的高级持续性威胁团体以及勒索软件附属组织所利用,这些勒索软件附属组织每年从企业窃取数百万美元。


http://www.ppmy.cn/news/1534539.html

相关文章

力扣题解 1928

题目描述(困难) 规定时间内到达终点的最小费用 一个国家有 n 个城市,城市编号为 0 到 n - 1 ,题目保证 所有城市 都由双向道路 连接在一起 。道路由二维整数数组 edges 表示,其中 edges[i] [xi, yi, timei] 表示城市…

Redis: 集群测试和集群原理

集群测试 1 ) SET/GET 命令 测试 set 和 get 因为其他命令也基本相似,我们在 101 节点上尝试连接 103 $ /usr/local/redis/bin/redis-cli -c -a 123456 -h 192.168.10.103 -p 6376我们在插入或读取一个 key的时候,会对这个key做一个hash运算&#xff0c…

C语言-指针

0.引入 int a; //定义了一个整型变量 名为a a 100; // a作为左值, 把100存放到a所对应的存储单元中 int b a; // a作为右值, 取a所对应的存储单元(变量本身)的值, 然后再把这个值存放到变量b对应的空间中 在C语言中, 任何一个变量名 都有两层含义: …

Mac通过ssh连接工具远程登录服务器( Royal TSX安装及使用)

一、Royal TSX软件下载地址 Royal Apps 二、Royal TSX 汉化 汉化包地址:GitCode - 全球开发者的开源社区,开源代码托管平台 三、基础配置 Royal TSX 是一款基于插件的应用,刚安装时还不具备使用条件,需要进行一些基础配置 1 安装基础插件…

JVM 基础、GC 算法与 JProfiler 监控工具详解

目录 1、引言 1.1 JVM内存与本地内存 1.2 JVM与JDK的关系 2、JVM基础 2.1 JVM(Java Virtual Machine) 2.2 Java与JVM的关系 2.3 JVM的内存结构 2.3.1 堆内存 2.3.2 栈内存 2.3.3 方法区 2.3.4 本地方法栈 2.3.5 程序计数器(PC寄存…

【深度学习】交叉熵

交叉熵(Cross-Entropy)是信息论中的一个重要概念,也是在机器学习和深度学习中用于分类任务的常见损失函数。它衡量的是两个概率分布之间的差异,特别是模型的预测概率分布与真实分布的差异。 交叉熵最初是从信息论引入的&#xff0…

Nginx性能优化全攻略:打造高性能Web服务器

Nginx作为一款高性能的Web服务器和反向代理服务器,以其轻量级、高并发处理能力而闻名。然而,要充分发挥Nginx的潜力,需要进行全面而细致的优化。本文将深入探讨Nginx的性能优化策略,从基础配置到高级技巧,全方位提升您的Nginx服务器性能。 © ivwdcwso (ID: u012172506) 基…

Spring Cloud全解析:服务调用之OpenFeign集成OkHttp

文章目录 OpenFeign集成OkHttp添加依赖配置连接池yml配置 OpenFeign集成OkHttp OpenFeign本质是HTTP来进行服务调用的,也就是需要集成一个Http客户端。 使用的是Client接口来进行请求的 public interface Client {// request是封装的请求方式、参数、返回值类型/…