背景
前些天圈子已经隐隐约约泄漏这个漏洞部分信息,今天算是跟A股一样重磅出击了,作者直接打脸Linux开发者,一线吃瓜群众立刻到位,苦命打工人记得及时修补,过一个好的国庆假期。
漏洞简介
引用阿里云公告
CUPS(Common UNIX Printing System,通用Unix打印系统)是一个打印系统,它主要是使用 IPP(Internet Printing Protocol)等协议来管理打印工作及队列。
2024年9月27日,互联网上披露 Unix CUPS 远程代码执行详情,利用链涉及多个CVE(CVE-2024-47176/CVE-2024-47076/CVE-2024-47175/CVE-2024-47177等)。当cups-browsed进程监听(默认631端口)接收UDP数据包时,攻击者可构造恶意请求,在无需认证的情况下可能在受害者机器上执行任意命令,控制服务器。漏洞实际是否可利用和触发需要依赖具体环境(例如存在打印任务等)
影响范围
未经认证的RCE漏洞影响所有GNU/Linux系统(以及其他系统)在三周前被披露。全面披露将在不到两周内进行(已与开发者达成协议)
Shodan:
FOFA
有心者,可以关注631端口在公网开放情况接近百万,更别提内网。
吃瓜热线
作者原文:
https://threadreaderapp.com/thread/1838169889330135132.html#google_vignette
这位开发者在最近的休假期间,全职投入了三周时间,专门研究并报告了一个存在十多年的RCE(远程代码执行)漏洞,影响所有GNU/Linux系统以及其他一些系统。他负责协调与开发团队的沟通,本着负责任披露的态度,希望问题能得到快速修复,但事情却没有想象中顺利。
虽然Canonical、RedHat等大公司已经确认了这个漏洞的严重性,评分达到9.9,但开发团队却迟迟没有给出修复方案,甚至连CVE编号都还没分配。更让人无语的是,开发者们在讨论过程中始终对安全问题的严重性持怀疑态度,甚至在漏洞报告者提供了多次PoC(概念验证)后,依然不愿意接受自己的代码存在问题,反而是花大量精力试图证明报告者是错的。
最讽刺的是,报告者对Canonical团队充满了敬意,他们从一开始就积极介入调解并试图推动解决问题,但核心开发团队的态度却让整个过程变得异常艰难。
他准备写一篇文章,不仅要详细介绍技术细节,还要揭露整个漏洞披露过程中的种种不当处理方式。作为报告者,他也坦言自己理解开发者会对自己的代码心存防御,但当软件已经运行在全世界的系统上,你就有责任面对并修复问题,而不是抵赖甚至试图证明报告者错了。
总结:这是一个十多年未被发现的严重漏洞,在开发者的傲慢与抗拒面前,报告者不得不通过耸动的言辞引发重视,希望问题能得到修复。对于吃瓜群众来说,这就是一场漏洞披露中的“权力与傲慢”的戏剧。
POC 公开
POC验证存在部分局限性,要位于同一网络。
项目地址:
https://github.com/RickdeJager/cupshax
该漏洞使用 zeroconf
和 ippserver
,都可以通过pip安装。
usage: cupshax.py [-h][--name NAME]--ip IP [--command COMMAND][--port PORT]
A script for executing commands remotely
options:
-h,--help show this help message andexit
--name NAME The name to use(default: RCE Printer)
--ip IP The IP address of the machine running this script
--command COMMAND The command to execute (default:'touch /tmp/pwn')
--port PORT The port to connect on (default:8631)
例如:
python cupshax.py --name "Print to PDF (Color)"
--command "id>/tmp/pwn"
--ip 10.0.0.3
EXP 公开
更为炸裂的是,命令执行的EXP都有,链接如下:
https://github.com/OpenPrinting/cups-browsed/security/advisories/GHSA-rj88-6mr5-rcw8
执行细节:
临时修复方案
以下是微步团队给出的修复建议:
1.排查主机上是否启用cups-browsed服务。例如RedHat系统使用 sudo systemctl status cups-browsed
2.排查该服务是否绑定在0.0.0.0,且对外开放。该服务默认绑定在631端口,使用 netstat-ano|grep631
3.若确认已开启该服务,如果业务场景不需要打印的情况下可禁用该服务。例如 RedHat 系统使用 sudo systemctl disable cups-browsed
附言
上面的POC和EXP为了防止和谐,无法让大家深入学习,我都已经提前打包好。
有需要的可以回复"20240927"获取,或者自行下载,免责声明,仅供学习使用。
更多技术细节建议参考:
https://www.evilsocket.net/2024/09/26/Attacking-UNIX-systems-via-CUPS-Part-I/
原文始发于微信公众号(一个不正经的黑客):至暗时刻! Linux 史诗级核弹0day EXP公开
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论