DirtyDecrypt 是另一个 Copy Fail 类漏洞,它能为攻击者提供 root 权限。 Linux

在核心 Linux 已发现一个类似于 Copy Fail、Dirty Frag 和 Fragnesia 的漏洞,该漏洞允许非特权用户通过覆盖页面缓存中的数据来获取 root 权限。该漏洞代号为 DirtyDecrypt(也称为 DirtyCBC)。目前已提供原型漏洞利用程序。

该漏洞利用程序的描述中并未提及 CVE 编号,仅指出研究人员于 5 月 9 日发现了该问题,并已将其报告给内核开发人员。内核开发人员回复称,他们的发现与另一份关于已修复漏洞的报告重复。由于内核中已包含修复补丁,研究人员决定公开他们开发的漏洞利用程序。根据漏洞利用程序的描述,它利用的是 CVE-2026-31635 漏洞,该漏洞的修复程序已于 4 月被内核接受,并包含在 7.0.0 分支和 4 月 18 日发布的 6.18.23 版本中。该问题自内核 6.16 版本起就已存在。

与 Dirty Frag 系列漏洞类似,RxRPC 驱动程序中也存在一个新的漏洞。该驱动程序实现了 AF_RXRPC 套接字族和同名的 RPC 协议,运行在 UDP 协议之上。此问题是由 rxgk_verify_response() 函数中的数据大小检查错误引起的。代码中本应检查“if (auth_len > len)”,但实际检查的是“if (auth_len < len)”,导致传递给 rxgk_decrypt_skb() 函数的数据大于允许的大小。当执行 rxgk_decrypt_skb() 函数时,为了避免不必要的缓冲,数据解密过程直接将更改插入到页面缓存中。由于大小检查错误,攻击者有可能覆盖页面缓存中指定偏移量的数据。

利用此漏洞需要使用 suid root 标志读取程序文件(以确保其被放置在页面缓存中),并将页面缓存中的部分程序代码替换为启动 /usr/bin/sh 的代码。随后执行该程序时,加载到内存中的将是页面缓存中修改后的副本,而不是驱动器中的原始可执行文件。此漏洞利用支持使用 "/usr/bin/su", "/bin/su", "/usr/bin/mount", "/usr/bin/passwd" 和 "/usr/bin/chsh" 命令。

要利用此漏洞,构建内核时必须启用 CONFIG_RXGK 选项,并且 rxrpc.ko 内核模块必须可供自动加载(该模块在某些系统上无法构建)。您可以在以下页面查看发行版中漏洞修复的状态: Debian, UbuntuSUSE/openSUSE、RHEL、Arch、Fedora。作为一种变通方法,您可以阻止加载 rxrpc 内核模块:

sh -c "p​​rintf 'install rxrpc /bin/false\n' > /etc/modprobe.d/dirtydecrypt.conf; rmmod rxrpc 2>/dev/null; true"

此外,您还可以在内核开发者邮件列表中找到相关信息。 Linux 此补丁完全禁用了加密 API (AF_ALG) 中在使用“skcipher”和“aead”算法解密时直接访问页面缓存的优化。这些优化消除了不必要的数据缓冲,但引入了严重的安全漏洞风险。禁用这些优化预计只会造成轻微的性能损失,因为需要额外执行一次复制到独立缓冲区的操作。这些补丁已被加密 API 子系统的维护者接受,并包含在“cryptodev”分支中,该分支用于开发未来内核版本将包含的功能。 Linux.

来源: opennet.ru

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster