在核心 Linux 另一个本地权限提升漏洞已被披露,名为 弗拉格尼西亚 和标识符 CVE-2026-46300该问题与最近讨论的 Copy Fail 和 Dirty Frag 属于同一类页面缓存攻击,但并非旧 bug 的重发:它是代码中的一个独立缺陷。 XFRM ESP-in-TCP.
该漏洞是由一名研究人员发现的。 威廉·鲍林 来自团队 V12 安全根据已发布的描述,Fragnesia 允许非特权本地用户修改页面缓存内存中只读文件的内容,从而以 root 权限执行代码。与许多早期的 LPE 漏洞利用不同,该攻击不需要竞争条件,并且被研究人员描述为确定性的。
从技术上讲,问题源于内核在合并网络缓冲区时,丢失了数据片段“共享”并与外部内存页(包括页面缓存)关联的概念。提出的补丁将此描述为 skb_try_coalesce() 函数中的一个错误:当将分页片段从一个 sk_buff 传输到另一个 sk_buff 时,SKBFL_SHARED_FRAG 标志未被保留。因此,后续的 ESP 代码可能会错误地认为该缓冲区可以安全修改。
实际效果是,套接字切换到 espintcp 模式后,之前从文件排队到 TCP 队列的数据可以被内核作为 ESP 密文处理。在 AES-GCM 解密过程中,字节直接在与该文件关联的页面缓存中被修改。这不会改变磁盘上的文件,但会在页面从缓存中移除之前改变其在内存中的表示形式。
已发布的攻击演示针对的是 /usr/bin/su:该漏洞利用程序修改了页面缓存中二进制文件的前几个字节,然后在内存中执行修改后的副本,从而获得具有 root 权限的 shell。磁盘上的原始文件保持不变,这使得该问题难以诊断:清除页面缓存或重启后,攻击痕迹可能会消失。
Fragnesia漏洞在Dirty Frag漏洞出现不到一周后就出现了。V12强调,这是同一攻击面(ESP/XFRM)上的一个独立漏洞,而不是对已修复漏洞的重新命名。Phoronix还指出,在发布时已有概念验证,修复方法是对net/core/skbuff.c文件进行一个小补丁,但该补丁尚未立即推送到主内核分支。
经典挪用 CVE-2026-46300 高度优先 Ubuntu并声称原因是“微不足道的本地权限提升”。 Ubuntu 在 5 月 13 日的更新中,受影响内核的安全补丁被列为“需要评估”,并且该说明特别指出,该问题也存在于内核的 ESP 模块中,并且可以像 Dirty Frag 一样暂时缓解。
Debian 安全追踪器 在审查时,bullseye、bookworm、trixie、forky 和 sid 分支中的内核被标记为易受攻击;不稳定版中的 linux 软件包尚未分配修复版本。
临时保护措施与 Dirty Frag 相同: 禁用模块加载 如果系统不需要 esp4、esp6 和 rxrpc,则应将其禁用。这可能会中断使用内核 ESP、strongSwan、Libreswan 或类似配置的节点上的 IPsec 隧道,因此,此措施应在仔细考虑后仅应用于 VPN 网关。
管理员可享受临时宽容待遇的例子:
sudo sh -c "printf '安装 esp4 /bin/falseninstall esp6 /bin/falseninstall rxrpc /bin/falsen' > /etc/modprobe.d/dirtyfrag.conf" sudo rmmod esp4 esp6 rxrpc 2>/dev/null ||真的
如果怀疑系统可能已经受到攻击,仅仅阻止模块是不够的:由于公开演示会修改页面缓存中的可执行文件,管理员建议在采取安全措施后清除页面缓存或重新启动系统。Linux 明确指出,在漏洞利用后,/usr/bin/su 可能会在内存中保持修改状态,直到相应的页面被驱逐。
安装打过补丁的内核后,要移除临时规则,可以删除创建的文件:
sudo rm /etc/modprobe.d/dirtyfrag.conf
主要建议仍然是:安装适用于您发行版的已打补丁内核并重启系统。更新前,风险最高的是多用户服务器、CI 运行器、共享主机、容器构建集群以及任何非特权或部分受信任用户可以执行本地代码的机器。
来源: linux.org.ru
