Linux漏洞Dirty Pipe波及Linux核心5.8以及之后的所有版本

一名软件工程师Max Kellermann本周披露了一个藏匿于Linux核心的安全漏洞CVE-2022-0847,该漏洞允许黑客覆盖任何只读文件,由于它涉及到行程间通信机制Pipe,使得Kellermann把它称为Dirty Pipe漏洞,并说它比2016年出现的Dirty Cow(CVE-2016-5195)漏洞还容易开采。

Dirty Pipe基本上是个权限扩张漏洞,它让非特权的行程得以注入程序代码至根进程。Kellermann也发布了一个概念性验证攻击程序,允许本地端用户可将自己的资料注入一个机密的只读文件,有人就利用了这个程序把根用户的密码改为空白,等于是直接取得根权限。

Kellermann是在无意间发现该漏洞,先是有一名客户抱怨所下载的日志文件无法解压缩,而他的确也在日志服务器上找到毁坏的日志文件,Kellermann成功将它解压缩了,但Gzip却出现CRC错误,他找不出原因,仅是手动修补了该文件的CRC,但后来同样的问题不断发生,3个月内就出现37个毁坏的文件,使得他决定深究。

Kellermann说,在他排除了硬件问题、程序代码问题、网络服务问题之后,终于觉得这应该是Linux核心问题。

虽然Kellermann早在去年就发现了这个漏洞,但追查了几个月才找到漏洞的根源,并在2月20日将漏洞细节提报给Linux核心安全团队,21日发现它可在Google Pixel 6上重现,因而再通知Android安全团队。

Linux核心安全团队已于2月23日发布Linux 5.16.11、5.15.25及5.10.102来修补该漏洞,而Google也在2月24日将修补程序并入Android核心。

值得注意的是,目前仍有许多系统执行老旧的Linux核心,再加上概念性验证攻击程序已被公开,相信黑客很快就会采取行动。