Linux Kernel本地权限提升漏洞"Dirty Frag"(CVE-2026-43284)
漏洞详情
2026年5月8日,业界公开了一个 Linux 内核高危本地权限提升(LPE)漏洞。它是继不久前的 Copy Fail (CVE-2026-31431) 之后,又一个利用内核页面缓存(Page Cache)实现提权的逻辑漏洞,该漏洞被命名为Dirty Frag。通过同时利用 xfrm-ESP Page-Cache Write 和 RxRPC Page-Cache Write 两个逻辑缺陷,实现对 struct sk_buff 中 frag 成员的定向污染,从而向任意可读文件的 page cache 执行确定性写入。该漏洞影响所有主流Linux发行版(kernel >= 4.11),攻击者已公开PoC程序即可从普通用户权限直接提升至root权限。其中,HCE受影响是xfrm-esp (CVE-2026-43284),不受rxrpc (cve-2026-43500)影响。该漏洞影响范围广,目前漏洞技术细节和PoC均已公开,建议用户及时修复。
HCE对应的SA参见:
影响和风险
普通用户可以利用此漏洞在Linux系统上从普通用户权限直接提升至root权限,造成机密性、完整性和可用性全面损失。
判断方法
漏洞修复方案
当前只有部分内核版本支持升级热补丁修复,热补丁支持的内核版本基线列表请参考:表1 热补丁支持的内核版本基线列表。
对于不在支持范围内的内核版本,建议先将kernel升级支持范围内,再打热补丁,或者直接升级冷补丁包。
- 升级kernel版本。
# yum update kernel -y

- 重启系统生效。
# reboot
- 重启登录系统后,执行以下命令查询当前内核版本号。
# uname -r
如果是5.10内核,检查版本号是否>=5.10.0-182.0.0.95.r3450_281.hce2,“是”则说明该漏洞已修复,不受影响。
如果是6.6内核,检查版本号是否>=6.6.0-72.0.0.76.r1245_84.hce3,“是”则说明该漏洞已修复,不受影响。
- 安装热补丁前,先升级或安装kpatch-runtime包,执行以下命令检查环境是否安装kpatch-runtime包。
# rpm -qa | grep kpatch-runtime
如果搜索不到,执行以下命令进行安装。
# yum install kpatch-runtime -y
如果搜索有结果,执行以下命令进行升级。
# yum update kpatch-runtime -y
- 执行以下命令升检查环境是否安装kernel-hotpatch包。
# rpm -qa | grep kernel-hotpatch
如果没有安装,执行以下命令进行安装。
# yum install kernel-hotpatch-$(uname -r) -y
如果已经安装,需执行以下命令进行升级。
# yum update kernel-hotpatch-$(uname -r) -y

- 执行以下命令确认热补丁名称为:Patch Name: CVE2026432842,补丁状态为:Patch State: Active。
# livepatch -q | grep "Patch Name: CVE202643284*" -A 6

表1 热补丁支持的内核版本基线列表 HCE版本
内核版本
HCE-2.0
5.10.0-182.0.0.95.r2453_180.hce2
5.10.0-182.0.0.95.r2572_186.hce2
5.10.0-182.0.0.95.r2673_211.hce2
5.10.0-182.0.0.95.r2762_220.hce2
5.10.0-182.0.0.95.r2825_235.hce2
5.10.0-182.0.0.95.r2947_236.hce2
5.10.0-182.0.0.95.r3008_246.hce2
5.10.0-182.0.0.95.r3090_252.hce2
5.10.0-182.0.0.95.r3184_259.hce2
5.10.0-182.0.0.95.r3304_260.hce2
5.10.0-182.0.0.95.r3353_273.hce2
HCE-3.0
6.6.0-72.0.0.76.r1014_62.hce3
6.6.0-72.0.0.76.r1152_80.hce3
如果环境实施过规避措施(禁用esp4和esp6模块),需先回退规避措施,再升级热补丁,否则会导致补丁不生效。(热补丁修改内容依赖esp4和esp6模块加载,规避措施和升级热补丁是冲突的)。
补丁回退方案
如果执行漏洞修复后,发生不可预期结果,需要回退修复补丁,可执行以下操作:
- 执行以下查询升级补丁操作的ID,如下图升级补丁的ID为3。
# yum history

- 使用 1 中查询到ID,执行以下命令进行回退。
# yum history undo 【ID】

规避方案
如果暂时无法升级修复补丁,建议先禁用esp4和esp6模块实施规避。
- 执行以下命令检查禁用模块esp4和esp6是否加载,如果有回显,说明模块有加载,执行2;如果没有回显,执行3。
# lsmod | grep -E "esp4|esp6"
- 如果esp4或esp6模块加载了,需客户自行排查是否有业务在使用,如果没有,可执行以下命令卸载,然后执行3;如果有,建议参考方案一或者方案二进行补丁升级,尽快修复漏洞。
# modprobe -r esp4 # modprobe -r esp6
- 执行以下命令 ,禁止esp4和esp6模块加载。执行后即时生效,无需重启系统。
# echo "install esp4 /bin/false" >> /etc/modprobe.d/disable-esp.conf # echo "install esp6 /bin/false" >> /etc/modprobe.d/disable-esp.conf