详细内容或原文请订阅后点击阅览
磁盘上的所有内容都是干净的,并且 root 已经被获取。新的 Linux 漏洞在内存中运行并绕过完整性检查
攻击更改了 setuid 程序的缓存图像,但磁盘上的文件保持不变。
来源:安全实验室新闻频道磁盘上的所有内容都是干净的,并且 root 已经被获取。新的 Linux 漏洞在内存中运行并绕过完整性检查
攻击更改了 setuid 程序的缓存图像,但磁盘上的文件保持不变。
Linux 中发现了一个漏洞,可将普通本地用户转变为 root 用户而不更改磁盘上的文件。针对此类攻击的完整性检查可能不会显示任何内容,因为恶意编辑并不存在于文件本身中,而是存在于内存中的副本中。
该漏洞的编号为 CVE-2026-46331,非官方名称为pedit COW。该问题隐藏在流量控制子系统中,该子系统在 Linux 内核中管理网络流量。该错误会影响 act_pedit 操作,该操作允许动态更改数据包标头。红帽将该漏洞评为重要,并在 6 月 16 日 CVE 分配后的第二天就出现了有效的公共漏洞。
最不愉快的时刻与攻击机制有关。该漏洞不会覆盖磁盘上的文件,也不会在二进制文件中留下通常的痕迹。攻击者不是直接编辑,而是毒害 setuid-root 程序的缓存内存副本(例如 /bin/su),添加一小段代码并以 root 权限运行修改后的映像。磁盘上的文件保持不变,因此标准完整性检查可以报告一切都是干净的,而攻击者已经获得了 root shell。
攻击需要两个条件。 act_pedit 模块必须加载到系统上,并且非特权用户命名空间必须可供普通用户访问。在这样的空间中,攻击者获得本地网络能力 CAP_NET_ADMIN,这足以在内核中启动易受攻击的路径。在经过测试的 RHEL 和 Debian 系统上,这两个条件都得到满足。
由于内存缓存攻击,正常的文件检查可能无法发现漏洞。通过 echo 3 > /proc/sys/vm/drop_caches 重置页面缓存会清除内存中损坏的副本,但不会关闭已打开的 root shell。如果漏洞可以在主机上运行,则该计算机应被视为已受到威胁。
