Linux打印系统-CUPS
2010-11-12 13:21:36 阿炯

本站赞助商链接,请多关照。 CUPS(以前Common Unix Printing System,UNIX通用打印系统的缩写)是一个类Unix操作系统的打印管理系统,允许一台电脑作为打印服务器。CUPS 由 Michael Sweet 开发,1999 年发布首个公开版本,之后迅速成为大多数 Linux 发行版默认的打印系统。它可接受一个客户端的电脑进程,并发送到相应的打印机,在GPLv2协议下授权。苹果决定从 CUPS 2.3 版本开始,将从 GPLv2 许可证切换到 Apache v2 许可证。


CUPS is the software you use to print from applications like the web browser you are using to read this page. It converts the page descriptions produced by your application (put a paragraph here, draw a line there, and so forth) into something your printer can understand and then sends the information to the printer for printing.

Now, since every printer manufacturer does things differently, printing can be very complicated. CUPS does its best to hide this from you and your application so that you can concentrate on printing and less on how to print. Generally, the only time you need to know anything about your printer is when you use it for the first time, and even then CUPS can often figure things out on its own.

Unix/Linux下打印总是有许多限制。但若安装了CUPS,你将会得到一个完整的打印解决方案。CUPS给Unix/Linux用户提供了一种可靠有效的方法来管理打印。它支持IPP,并提供了LPD,SMB(服务消息块,如配置为微软WINDOWS的打印机)、JetDirect等接口。

Web-based管理界面
CUPS有一个web-based管理界面运行在631端口,尤其可以帮助组织,监测打印作业并添加打印队列和打印机远程。

苹果也于 2002 年在 Mac OS X 系统中采用了 CUPS,2007 年雇佣了 Michael Sweet 并收购了源代码。苹果能切换许可证的原因是它要求贡献者签署协议将任何版权的共有权授予苹果。如果项目包含了 GPL 许可证的代码,那么整个项目都必须使用 GPL 许可证。而 Apache 2 要求分发软件时,必须保留原始的许可证声明。凡是修改过的文件,必须向用户说明该文件修改过;没有修改过的文件,必须保持许可证不变。

远程命令执行漏洞

CUPS 是一个默认集成于诸多 Linux 发行版的开源打印系统,而 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

临时修复方案:使用安全设备拦截暴露在公网的 631 UDP 端口。


最新版本:2.3
此版本更新内容如下:
修复了调度器没有保存启动或者 systemd 重启后的监听套接字问题(<rdar://problem/18112848>)
为基于 libusb 的 USB 后端添加了一些 USB quirk 规则 (STR #4482)
更新了西班牙本地化 (STR #4487)
更新了文档,从 GPLv2 许可证切换到 Apache v2 许可证

最新版本:2.4
2021年早些时候,OpenPrinting 接管了 CUPS 打印服务器的开发,苹果公司不再对这个开源的Linux /macOS/Unix 打印服务器的开发感兴趣。而据外媒 phoronix 介绍:2021年12月初 CUPS 2.4 作为 OpenPrinting 指导下的第一个主要版本发布了。OpenPrinting 的 CUPS 2.4 为这个广泛使用的打印服务器带来了很多改进,包括:
- 初始 OAuth 2.0 客户端支持。
- 支持 AirPrint 和 Mopria 客户端。
- 支持将 CUPS 限制为 Snap。
- 对 ipptool 的各种改进,如 JSON 输出和其他功能。
- USB 后端现在以 root 身份运行。
- 修复了 Solaris 上的编译
- 数十个错误修复和其他小改进。

CUPS 2.4 可以从 GitHub 以源代码形式下载。 CUPS 2.4 是一次非常棒的更新 —— CUPS 好像两三年一大更 :CUPS 2.3 于 2019 年发布(CUPS 2.2 发布三年后)。与此同时,CUPS 2.5 和 CUPS 3.0 已经在规划中,开源社区似乎对它重新产生了兴趣。


官方主页:http://www.cups.org/


该文章最后由 阿炯 于 2024-09-29 15:49:36 更新,目前是第 2 版。