
0x00 前言
Linux系统是一种开源的类Unix操作系统内核,由于其强大的可定制性和稳定性,Linux已被广泛应用于服务器、移动设备、物联网设备等多个领域。
Linux系统在发展过程中吸引了全球范围内的开发者,形成了一个强大的社区。它采用了GNU通用公共许可证(GPL),这意味着它是自由开源的,并鼓励用户共享和修改代码。这也导致了许多不同的Linux发行版,如Ubuntu、Fedora、Debian等。
一些知名的Linux发行版本包括:
Ubuntu:由Canonical公司维护,以易用性和用户友好性而闻名。
Debian:以稳定性和自由软件的支持而著称,许多其他发行版基于Debian构建。
RHEL (Red Hat Enterprise Linux):面向企业市场,提供长期支持和专业的技术支持。
CentOS:由Red Hat公司提供支持,注重稳定性和企业应用。
Fedora:由Red Hat公司支持,注重创新和最新的软件。
Arch Linux:以简洁和灵活而著称,面向高级用户。
openSUSE:由openSUSE项目维护,有两个主要版本:Leap(稳定版)和Tumbleweed(滚动更新)。
Gentoo:以源代码为基础,允许用户根据自己的硬件和需求定制系统。
Slackware:是最古老的现代Linux发行版之一,注重简洁和纯净。
Manjaro:基于Arch Linux,提供易用性和用户友好的桌面环境。
Linux Mint:基于Ubuntu和Debian,注重用户友好性和多媒体支持。
Elementary OS:以漂亮的用户界面和直观的设计而著称。
Kali Linux:专注于网络安全和渗透测试,包含许多安全工具。
Alpine Linux:专注于轻量级和安全性,常用于容器化环境。0x01 漏洞描述
Dirty Frag漏洞并非单一漏洞,而是由两个互补的页缓存写入漏洞组成,可覆盖全场景主流发行版,无防护盲区。
1、CVE-2026-43284 xfrm-ESP Page-Cache Write漏洞
触发路径:esp_input()函数跳过skb_cow_data()内存拷贝操作,直接在splice注入的frag页面上执行原地AEAD解密;
攻击原语:实现4字节任意地址写入,攻击者可精准控制写入位置与数值;
权限条件:需CAP_NET_ADMIN权限,可通过unshare(CLONE_NEWUSER)用户命名空间隔离获取;
触发方式:基于UDP 4500端口的IPsec ESP协议交互。
2、CVE-2026-43500 RxRPC Page-Cache Write漏洞
触发路径:rxkad_verify_packet_1()函数在splice注入的 frag 页面上执行原地pcbc (fcrypt) 解密;
攻击原语:实现8字节可控写入,数值为fcrypt_decrypt(C, K),需通过密钥碰撞完成精准控制;
权限条件:无需命名空间特殊权限,Ubuntu等主流发行版默认加载rxrpc.ko模块;
典型攻击目标:篡改/etc/passwd首行,结合PAM nullok策略实现root空密码登录。
核心利用流程:
基于splice()零拷贝机制构建稳定利用链,核心步骤如下:
1、通过splice将系统只读敏感文件(如/usr/bin/su)的页缓存页,钉入内核frag槽;
2、借助IPsec ESP解密路径的原地加密操作,篡改页缓存中的可信数据;
3、将合法SU ELF二进制文件,覆盖改写为192字节微型root shell代码;
4、执行execve("/usr/bin/su"),直接获取root权限shell。0x02 CVE编号
CVE-2026-43284 xfrm-ESP Page-Cache Write漏洞
CVE-2026-43500 RxRPC Page-Cache Write漏洞0x03 影响版本
CVE-2026-43284:
4.11 <= Linux Kernel < 5.10.255
5.12 <= Linux Kernel < 5.15.205
5.16 <= Linux Kernel < 6.1.171
6.2 <= Linux Kernel < 6.6.138
6.7 <= Linux Kernel < 6.12.87
6.13 <= Linux Kernel < 6.18.28
7.0 <= Linux Kernel < 7.0.5
CVE-2026-43500:
commit 2dc334f1a63a <= Linux Kernel (RxRPC) < commit aa54b1d27fe0
目前已知受影响操作系统:
Ubuntu 24.04.4
Debian 13 < 6.12.86-1
Debian 12 < 6.1.170-3
Debian 11 < 5.10.251-4
RHEL 10
CentOS Stream 10
AlmaLinux 10
Fedora 44
openSUSE Tumbleweed
排查方法:
grep -E 'CONFIG_INET_ESP|CONFIG_INET6_ESP|CONFIG_AF_RXRPC' /boot/config-$(uname -r)
判断方式:
CONFIG_INET_ESP=m / CONFIG_INET6_ESP=m:esp4 / esp6 以模块形式存在,可以通过 modprobe 黑名单临时禁用,并尝试卸载当前已加载模块。
CONFIG_AF_RXRPC=m:rxrpc 以模块形式存在,可以通过 modprobe 黑名单临时禁用,并尝试卸载当前已加载模块。
CONFIG_INET_ESP=y / CONFIG_INET6_ESP=y:ESP功能编译进内核,无法通过rmmod或modprobe黑名单完全禁用,只能通过升级修复内核、切换不包含该功能的内核,或禁用user namespace做辅助降风险。
CONFIG_AF_RXRPC=y:RxRPC编译进内核,无法通过卸载模块方式禁用,应优先升级修复内核或切换不包含该功能的内核。
如果没有看到CONFIG_AF_RXRPC,或结果为CONFIG_AF_RXRPC is not set,说明当前内核未启用RxRPC,这种情况下无需针对rxrpc模块做禁用处置。
检查 esp4、esp6、rxrpc 模块是否已加载:
lsmod |grep -E '^(esp4|esp6|rxrpc)'
grep -rE "(esp4|esp6|rxrpc)" /etc/modprobe.d/ /etc/modules-load.d/ 2>/dev/null
检查 User Namespace 是否允许(影响 ESP 变体)
cat /proc/sys/kernel/unprivileged_userns_clone
1 = 允许(ESP 变体可能可利用);0 = 阻止0x04 漏洞详情
POC:
https://github.com/V4bel/dirtyfrag
使用命令:
git clone https://github.com/V4bel/dirtyfrag.git && cd dirtyfrag && gcc -O0 -Wall -o exp exp.c -lutil && ./exp

0x05 参考链接
https://www.openwall.com/lists/oss-security/2026/05/07/8
http://nic.hitsz.edu.cn/info/1083/1742.htm
推荐阅读:
CVE-2026-34486|Apache Tomcat远程代码执行漏洞(POC)
CVE-2026-39363|Vite存在任意文件读取漏洞(POC)
CVE-2026-33439|OpenAM反序列化远程代码执行(POC)
Ps:国内外安全热点分享,欢迎大家分享、转载,请保证文章的完整性。文章中出现敏感信息和侵权内容,请联系作者删除信息。信息安全任重道远,感谢您的支持!!!