
深度探索:探索 GNU-Linux 系统中的关键 CUPS 漏洞
Linux用户最近过得并不轻松,据报道,在过去的几年中,有几个高度严重的漏洞以各种方式影响了系统。安全研究人员现在还有另一组漏洞需要解开,所有这些漏洞都与针对GNU/Linux系统的通用UNIX打印系统(CUPS)功能有关,这些漏洞可能具有强大的远程代码执行(RCE)途径。
2024 年 9 月 27 日,evilsocket.net 的西蒙娜·玛加里泰利 已发布的关键信息 关于 CUPS 中有多个可利用的漏洞,随后为其中四个漏洞分配了 CVE。这个数字可能会增加,但在撰写本文时,安全界正在辩论这些发现的实际严重性。而其中一个 CVE, CVE-2024-47177,MITRE 当前的严重程度评级为 9.1,成功操纵此命令注入漏洞取决于启用了 CUPS 服务的服务器,此外,还需要访问 UDP 端口 631 或 DNS-SD。 红帽 但是请注意,可以将 CUPS 重新映射到其他端口。
玛格丽泰利对该事件的全面分析揭示了一系列阴险、复杂的攻击,尽管社区存在分歧,但不容忽视。它为我们提供了一个教训,即如果威胁行为者有足够的决心,如果不良的编码模式留下了很小的机会之窗,那么看似无害的依赖关系就会被深度利用。
CUPS 场景与许多开发人员和 AppSec 专业人员之前可能经历的情况略有不同,因此,让我们来看看并测试一下您的技能。
漏洞:通过 CUPS 远程执行代码 (RCE)
这个 Evilsocket 博客 为这些漏洞提供了无与伦比的详尽背景信息,我们将继续密切关注这一资源。Margaritelli还在他的文章中引用了一位不愿透露姓名的消息人士的话,他似乎对Linux的总体安全稳定性并不乐观:
”从通用的安全角度来看,如今的整个 Linux 系统只是无穷无尽的安全漏洞等待被利用。”
这清醒地提醒人们,开源环境中仍然普遍存在固有的安全风险,更不用说全球开发界迫切需要提高安全意识和安全编码技能了。
让我们来看看 CVE:
漏洞链非常普遍,目前影响以下软件包的所有当前和以前版本:
- distrotech/cups 过滤器
- OpenPrinting/CUPS-
- 杯子浏览
- libcupsfilters
- libppd
二十多年来,CUPS 一直是 UNIX 和 Linux 操作系统的传统组件。它作为打印服务依赖项的功能使其急于执行网络请求,使其成为 RCE 级漏洞的主要目标。
但是,在这种情况下,在如何将攻击结合起来提供成功结果方面存在一些独创性。这本质上是未经身份验证、未被发现的攻击者能够使用恶意 URL 替换互联网打印协议 (IPP) URL,此外还修改了可能导致在 “PPD(PostScript 打印机描述)” 文件中注入命令的指令,该文件是用于描述新添加的打印机功能的文件。一旦激活打印作业,这就会导致命令执行攻击,这依赖于 CUPS 组件内缺乏输入验证。
此外,修复这个特殊漏洞会产生一把双刃剑,比如 Evilsocket 指出。CUPS 包含 foomatic-rip 过滤器,这是一种可执行文件,以前曾是高风险、可利用的组件。与该组件相关的CVE可以追溯到2011年,尽管已经确定可以利用foomatic-rip来执行操作系统命令,但修复此问题会导致稳定性问题并失去对许多旧打印机的支持。这是一个需要克服的复杂问题。

- 威胁行为者发起攻击
- CVE-2024-47176: cups-browsed <= 2.0.1 容易受到攻击,因为它使用 INADDR_ANY 绑定到 UDP 端口 631,这意味着它信任从任何来源收到的任何数据包。这允许未经认证的远程攻击者发送带有操纵的 IPP URL(指向攻击者控制的 IPP 服务器)的恶意 UDP 数据包,从而触发漏洞。受害者的计算机现在认为它正在连接到一台新打印机,并发送请求询问打印机属性。
- 受害者系统处理打印机属性
- CVE-2024-47076: libcupsfilters <= 2.1b1 在 cfgetPrinterAttributes5 中存在漏洞,该漏洞无法正确验证或清理从 IPP 服务器返回的 IPP 属性。当 cups-browsed 处理数据包时,它可能会被诱骗读取攻击者发送的恶意属性。
- 受害者系统连接到攻击者控制器 IPP 服务器
- CVE-2024-47175: ppdCreatePpdFromIpp2 函数中的 libppd <= 2.1b1 在将 IPP 属性保存到临时 PPD(PostScript 打印机描述)文件时无法正确验证或清理这些属性。这允许攻击者将任意数据注入到PPD文件中,包括FoomaticripCommandLine指令,打印系统稍后可以执行该指令。
- 受害者系统启动打印作业并执行攻击者的代码
CVE-2024-47177: cups-filters <= 2.0.1 容易受到攻击,因为 foomatic-rip 过滤器通过 foomaticripCommandLine 指令执行任意命令,允许攻击者以 cups-brows-browse 进程的形式运行命令。攻击者等待受害者的计算机启动打印作业。发生这种情况的那一刻,攻击者的恶意代码将被执行(远程代码执行)。
如何减轻 RCE 风险?
对于将CUPS用作业务运营一部分的公司,他们必须遵循以下建议的补救建议 Evilsocket 和 红帽。这包括但不限于将应用安全补丁作为紧急级别的优先事项。
对于一般的命令注入,请查看我们的 综合指南。
如果你有兴趣获得更多免费编程指南,请查看 安全代码教练 帮助您掌握安全编码最佳实践。


在我们探索通用 UNIX 打印系统 (CUPS) 中最近出现的高严重性漏洞时,了解 Linux 用户面临的最新安全挑战。了解这些问题如何可能导致潜在的远程代码执行 (RCE),以及您可以采取哪些措施来保护系统。

Secure Code Warrior可以帮助您的组织在整个软件开发生命周期中保护代码,并营造一种将网络安全放在首位的文化。无论您是 AppSec 经理、开发人员、首席信息安全官还是任何与安全相关的人,我们都可以帮助您的组织降低与不安全代码相关的风险。
预订演示Laura Verheyde is a software developer at Secure Code Warrior focused on researching vulnerabilities and creating content for Missions and Coding labs.


Linux用户最近过得并不轻松,据报道,在过去的几年中,有几个高度严重的漏洞以各种方式影响了系统。安全研究人员现在还有另一组漏洞需要解开,所有这些漏洞都与针对GNU/Linux系统的通用UNIX打印系统(CUPS)功能有关,这些漏洞可能具有强大的远程代码执行(RCE)途径。
2024 年 9 月 27 日,evilsocket.net 的西蒙娜·玛加里泰利 已发布的关键信息 关于 CUPS 中有多个可利用的漏洞,随后为其中四个漏洞分配了 CVE。这个数字可能会增加,但在撰写本文时,安全界正在辩论这些发现的实际严重性。而其中一个 CVE, CVE-2024-47177,MITRE 当前的严重程度评级为 9.1,成功操纵此命令注入漏洞取决于启用了 CUPS 服务的服务器,此外,还需要访问 UDP 端口 631 或 DNS-SD。 红帽 但是请注意,可以将 CUPS 重新映射到其他端口。
玛格丽泰利对该事件的全面分析揭示了一系列阴险、复杂的攻击,尽管社区存在分歧,但不容忽视。它为我们提供了一个教训,即如果威胁行为者有足够的决心,如果不良的编码模式留下了很小的机会之窗,那么看似无害的依赖关系就会被深度利用。
CUPS 场景与许多开发人员和 AppSec 专业人员之前可能经历的情况略有不同,因此,让我们来看看并测试一下您的技能。
漏洞:通过 CUPS 远程执行代码 (RCE)
这个 Evilsocket 博客 为这些漏洞提供了无与伦比的详尽背景信息,我们将继续密切关注这一资源。Margaritelli还在他的文章中引用了一位不愿透露姓名的消息人士的话,他似乎对Linux的总体安全稳定性并不乐观:
”从通用的安全角度来看,如今的整个 Linux 系统只是无穷无尽的安全漏洞等待被利用。”
这清醒地提醒人们,开源环境中仍然普遍存在固有的安全风险,更不用说全球开发界迫切需要提高安全意识和安全编码技能了。
让我们来看看 CVE:
漏洞链非常普遍,目前影响以下软件包的所有当前和以前版本:
- distrotech/cups 过滤器
- OpenPrinting/CUPS-
- 杯子浏览
- libcupsfilters
- libppd
二十多年来,CUPS 一直是 UNIX 和 Linux 操作系统的传统组件。它作为打印服务依赖项的功能使其急于执行网络请求,使其成为 RCE 级漏洞的主要目标。
但是,在这种情况下,在如何将攻击结合起来提供成功结果方面存在一些独创性。这本质上是未经身份验证、未被发现的攻击者能够使用恶意 URL 替换互联网打印协议 (IPP) URL,此外还修改了可能导致在 “PPD(PostScript 打印机描述)” 文件中注入命令的指令,该文件是用于描述新添加的打印机功能的文件。一旦激活打印作业,这就会导致命令执行攻击,这依赖于 CUPS 组件内缺乏输入验证。
此外,修复这个特殊漏洞会产生一把双刃剑,比如 Evilsocket 指出。CUPS 包含 foomatic-rip 过滤器,这是一种可执行文件,以前曾是高风险、可利用的组件。与该组件相关的CVE可以追溯到2011年,尽管已经确定可以利用foomatic-rip来执行操作系统命令,但修复此问题会导致稳定性问题并失去对许多旧打印机的支持。这是一个需要克服的复杂问题。

- 威胁行为者发起攻击
- CVE-2024-47176: cups-browsed <= 2.0.1 容易受到攻击,因为它使用 INADDR_ANY 绑定到 UDP 端口 631,这意味着它信任从任何来源收到的任何数据包。这允许未经认证的远程攻击者发送带有操纵的 IPP URL(指向攻击者控制的 IPP 服务器)的恶意 UDP 数据包,从而触发漏洞。受害者的计算机现在认为它正在连接到一台新打印机,并发送请求询问打印机属性。
- 受害者系统处理打印机属性
- CVE-2024-47076: libcupsfilters <= 2.1b1 在 cfgetPrinterAttributes5 中存在漏洞,该漏洞无法正确验证或清理从 IPP 服务器返回的 IPP 属性。当 cups-browsed 处理数据包时,它可能会被诱骗读取攻击者发送的恶意属性。
- 受害者系统连接到攻击者控制器 IPP 服务器
- CVE-2024-47175: ppdCreatePpdFromIpp2 函数中的 libppd <= 2.1b1 在将 IPP 属性保存到临时 PPD(PostScript 打印机描述)文件时无法正确验证或清理这些属性。这允许攻击者将任意数据注入到PPD文件中,包括FoomaticripCommandLine指令,打印系统稍后可以执行该指令。
- 受害者系统启动打印作业并执行攻击者的代码
CVE-2024-47177: cups-filters <= 2.0.1 容易受到攻击,因为 foomatic-rip 过滤器通过 foomaticripCommandLine 指令执行任意命令,允许攻击者以 cups-brows-browse 进程的形式运行命令。攻击者等待受害者的计算机启动打印作业。发生这种情况的那一刻,攻击者的恶意代码将被执行(远程代码执行)。
如何减轻 RCE 风险?
对于将CUPS用作业务运营一部分的公司,他们必须遵循以下建议的补救建议 Evilsocket 和 红帽。这包括但不限于将应用安全补丁作为紧急级别的优先事项。
对于一般的命令注入,请查看我们的 综合指南。
如果你有兴趣获得更多免费编程指南,请查看 安全代码教练 帮助您掌握安全编码最佳实践。

Linux用户最近过得并不轻松,据报道,在过去的几年中,有几个高度严重的漏洞以各种方式影响了系统。安全研究人员现在还有另一组漏洞需要解开,所有这些漏洞都与针对GNU/Linux系统的通用UNIX打印系统(CUPS)功能有关,这些漏洞可能具有强大的远程代码执行(RCE)途径。
2024 年 9 月 27 日,evilsocket.net 的西蒙娜·玛加里泰利 已发布的关键信息 关于 CUPS 中有多个可利用的漏洞,随后为其中四个漏洞分配了 CVE。这个数字可能会增加,但在撰写本文时,安全界正在辩论这些发现的实际严重性。而其中一个 CVE, CVE-2024-47177,MITRE 当前的严重程度评级为 9.1,成功操纵此命令注入漏洞取决于启用了 CUPS 服务的服务器,此外,还需要访问 UDP 端口 631 或 DNS-SD。 红帽 但是请注意,可以将 CUPS 重新映射到其他端口。
玛格丽泰利对该事件的全面分析揭示了一系列阴险、复杂的攻击,尽管社区存在分歧,但不容忽视。它为我们提供了一个教训,即如果威胁行为者有足够的决心,如果不良的编码模式留下了很小的机会之窗,那么看似无害的依赖关系就会被深度利用。
CUPS 场景与许多开发人员和 AppSec 专业人员之前可能经历的情况略有不同,因此,让我们来看看并测试一下您的技能。
漏洞:通过 CUPS 远程执行代码 (RCE)
这个 Evilsocket 博客 为这些漏洞提供了无与伦比的详尽背景信息,我们将继续密切关注这一资源。Margaritelli还在他的文章中引用了一位不愿透露姓名的消息人士的话,他似乎对Linux的总体安全稳定性并不乐观:
”从通用的安全角度来看,如今的整个 Linux 系统只是无穷无尽的安全漏洞等待被利用。”
这清醒地提醒人们,开源环境中仍然普遍存在固有的安全风险,更不用说全球开发界迫切需要提高安全意识和安全编码技能了。
让我们来看看 CVE:
漏洞链非常普遍,目前影响以下软件包的所有当前和以前版本:
- distrotech/cups 过滤器
- OpenPrinting/CUPS-
- 杯子浏览
- libcupsfilters
- libppd
二十多年来,CUPS 一直是 UNIX 和 Linux 操作系统的传统组件。它作为打印服务依赖项的功能使其急于执行网络请求,使其成为 RCE 级漏洞的主要目标。
但是,在这种情况下,在如何将攻击结合起来提供成功结果方面存在一些独创性。这本质上是未经身份验证、未被发现的攻击者能够使用恶意 URL 替换互联网打印协议 (IPP) URL,此外还修改了可能导致在 “PPD(PostScript 打印机描述)” 文件中注入命令的指令,该文件是用于描述新添加的打印机功能的文件。一旦激活打印作业,这就会导致命令执行攻击,这依赖于 CUPS 组件内缺乏输入验证。
此外,修复这个特殊漏洞会产生一把双刃剑,比如 Evilsocket 指出。CUPS 包含 foomatic-rip 过滤器,这是一种可执行文件,以前曾是高风险、可利用的组件。与该组件相关的CVE可以追溯到2011年,尽管已经确定可以利用foomatic-rip来执行操作系统命令,但修复此问题会导致稳定性问题并失去对许多旧打印机的支持。这是一个需要克服的复杂问题。

- 威胁行为者发起攻击
- CVE-2024-47176: cups-browsed <= 2.0.1 容易受到攻击,因为它使用 INADDR_ANY 绑定到 UDP 端口 631,这意味着它信任从任何来源收到的任何数据包。这允许未经认证的远程攻击者发送带有操纵的 IPP URL(指向攻击者控制的 IPP 服务器)的恶意 UDP 数据包,从而触发漏洞。受害者的计算机现在认为它正在连接到一台新打印机,并发送请求询问打印机属性。
- 受害者系统处理打印机属性
- CVE-2024-47076: libcupsfilters <= 2.1b1 在 cfgetPrinterAttributes5 中存在漏洞,该漏洞无法正确验证或清理从 IPP 服务器返回的 IPP 属性。当 cups-browsed 处理数据包时,它可能会被诱骗读取攻击者发送的恶意属性。
- 受害者系统连接到攻击者控制器 IPP 服务器
- CVE-2024-47175: ppdCreatePpdFromIpp2 函数中的 libppd <= 2.1b1 在将 IPP 属性保存到临时 PPD(PostScript 打印机描述)文件时无法正确验证或清理这些属性。这允许攻击者将任意数据注入到PPD文件中,包括FoomaticripCommandLine指令,打印系统稍后可以执行该指令。
- 受害者系统启动打印作业并执行攻击者的代码
CVE-2024-47177: cups-filters <= 2.0.1 容易受到攻击,因为 foomatic-rip 过滤器通过 foomaticripCommandLine 指令执行任意命令,允许攻击者以 cups-brows-browse 进程的形式运行命令。攻击者等待受害者的计算机启动打印作业。发生这种情况的那一刻,攻击者的恶意代码将被执行(远程代码执行)。
如何减轻 RCE 风险?
对于将CUPS用作业务运营一部分的公司,他们必须遵循以下建议的补救建议 Evilsocket 和 红帽。这包括但不限于将应用安全补丁作为紧急级别的优先事项。
对于一般的命令注入,请查看我们的 综合指南。
如果你有兴趣获得更多免费编程指南,请查看 安全代码教练 帮助您掌握安全编码最佳实践。

点击下面的链接并下载此资源的PDF。
Secure Code Warrior可以帮助您的组织在整个软件开发生命周期中保护代码,并营造一种将网络安全放在首位的文化。无论您是 AppSec 经理、开发人员、首席信息安全官还是任何与安全相关的人,我们都可以帮助您的组织降低与不安全代码相关的风险。
查看报告预订演示Laura Verheyde is a software developer at Secure Code Warrior focused on researching vulnerabilities and creating content for Missions and Coding labs.
Linux用户最近过得并不轻松,据报道,在过去的几年中,有几个高度严重的漏洞以各种方式影响了系统。安全研究人员现在还有另一组漏洞需要解开,所有这些漏洞都与针对GNU/Linux系统的通用UNIX打印系统(CUPS)功能有关,这些漏洞可能具有强大的远程代码执行(RCE)途径。
2024 年 9 月 27 日,evilsocket.net 的西蒙娜·玛加里泰利 已发布的关键信息 关于 CUPS 中有多个可利用的漏洞,随后为其中四个漏洞分配了 CVE。这个数字可能会增加,但在撰写本文时,安全界正在辩论这些发现的实际严重性。而其中一个 CVE, CVE-2024-47177,MITRE 当前的严重程度评级为 9.1,成功操纵此命令注入漏洞取决于启用了 CUPS 服务的服务器,此外,还需要访问 UDP 端口 631 或 DNS-SD。 红帽 但是请注意,可以将 CUPS 重新映射到其他端口。
玛格丽泰利对该事件的全面分析揭示了一系列阴险、复杂的攻击,尽管社区存在分歧,但不容忽视。它为我们提供了一个教训,即如果威胁行为者有足够的决心,如果不良的编码模式留下了很小的机会之窗,那么看似无害的依赖关系就会被深度利用。
CUPS 场景与许多开发人员和 AppSec 专业人员之前可能经历的情况略有不同,因此,让我们来看看并测试一下您的技能。
漏洞:通过 CUPS 远程执行代码 (RCE)
这个 Evilsocket 博客 为这些漏洞提供了无与伦比的详尽背景信息,我们将继续密切关注这一资源。Margaritelli还在他的文章中引用了一位不愿透露姓名的消息人士的话,他似乎对Linux的总体安全稳定性并不乐观:
”从通用的安全角度来看,如今的整个 Linux 系统只是无穷无尽的安全漏洞等待被利用。”
这清醒地提醒人们,开源环境中仍然普遍存在固有的安全风险,更不用说全球开发界迫切需要提高安全意识和安全编码技能了。
让我们来看看 CVE:
漏洞链非常普遍,目前影响以下软件包的所有当前和以前版本:
- distrotech/cups 过滤器
- OpenPrinting/CUPS-
- 杯子浏览
- libcupsfilters
- libppd
二十多年来,CUPS 一直是 UNIX 和 Linux 操作系统的传统组件。它作为打印服务依赖项的功能使其急于执行网络请求,使其成为 RCE 级漏洞的主要目标。
但是,在这种情况下,在如何将攻击结合起来提供成功结果方面存在一些独创性。这本质上是未经身份验证、未被发现的攻击者能够使用恶意 URL 替换互联网打印协议 (IPP) URL,此外还修改了可能导致在 “PPD(PostScript 打印机描述)” 文件中注入命令的指令,该文件是用于描述新添加的打印机功能的文件。一旦激活打印作业,这就会导致命令执行攻击,这依赖于 CUPS 组件内缺乏输入验证。
此外,修复这个特殊漏洞会产生一把双刃剑,比如 Evilsocket 指出。CUPS 包含 foomatic-rip 过滤器,这是一种可执行文件,以前曾是高风险、可利用的组件。与该组件相关的CVE可以追溯到2011年,尽管已经确定可以利用foomatic-rip来执行操作系统命令,但修复此问题会导致稳定性问题并失去对许多旧打印机的支持。这是一个需要克服的复杂问题。

- 威胁行为者发起攻击
- CVE-2024-47176: cups-browsed <= 2.0.1 容易受到攻击,因为它使用 INADDR_ANY 绑定到 UDP 端口 631,这意味着它信任从任何来源收到的任何数据包。这允许未经认证的远程攻击者发送带有操纵的 IPP URL(指向攻击者控制的 IPP 服务器)的恶意 UDP 数据包,从而触发漏洞。受害者的计算机现在认为它正在连接到一台新打印机,并发送请求询问打印机属性。
- 受害者系统处理打印机属性
- CVE-2024-47076: libcupsfilters <= 2.1b1 在 cfgetPrinterAttributes5 中存在漏洞,该漏洞无法正确验证或清理从 IPP 服务器返回的 IPP 属性。当 cups-browsed 处理数据包时,它可能会被诱骗读取攻击者发送的恶意属性。
- 受害者系统连接到攻击者控制器 IPP 服务器
- CVE-2024-47175: ppdCreatePpdFromIpp2 函数中的 libppd <= 2.1b1 在将 IPP 属性保存到临时 PPD(PostScript 打印机描述)文件时无法正确验证或清理这些属性。这允许攻击者将任意数据注入到PPD文件中,包括FoomaticripCommandLine指令,打印系统稍后可以执行该指令。
- 受害者系统启动打印作业并执行攻击者的代码
CVE-2024-47177: cups-filters <= 2.0.1 容易受到攻击,因为 foomatic-rip 过滤器通过 foomaticripCommandLine 指令执行任意命令,允许攻击者以 cups-brows-browse 进程的形式运行命令。攻击者等待受害者的计算机启动打印作业。发生这种情况的那一刻,攻击者的恶意代码将被执行(远程代码执行)。
如何减轻 RCE 风险?
对于将CUPS用作业务运营一部分的公司,他们必须遵循以下建议的补救建议 Evilsocket 和 红帽。这包括但不限于将应用安全补丁作为紧急级别的优先事项。
对于一般的命令注入,请查看我们的 综合指南。
如果你有兴趣获得更多免费编程指南,请查看 安全代码教练 帮助您掌握安全编码最佳实践。
帮助您入门的资源
Threat Modeling with AI: Turning Every Developer into a Threat Modeler
Walk away better equipped to help developers combine threat modeling ideas and techniques with the AI tools they're already using to strengthen security, improve collaboration, and build more resilient software from the start.




%20(1).avif)
.avif)
