【漏洞描述】
互联网上公开披露了一个 Linux 内核本地权限提升漏洞,命名为 Dirty Frag,普通用户无需密码即可获得系统最高权限。Dirty Frag 属于与 Dirty Pipe(CVE-2022-0847)和 Copy Fail 是相同的漏洞类:零拷贝发送路径上的脏写入问题。splice() 系统调用将攻击者只有读权限的 page cache 页直接钉入 struct sk_buff 的 frag 槽,而接收侧内核代码对该 frag 执行原地(in-place)加密/解密,导致只读 page cache 被写入,实现本地权限提升至系统最高权限。
严重等级:严重
【影响范围】
已知受影响的操作系统及版本:
Ubuntu 24.04.4(6.17.0-23-generic)
RHEL 10.1 / CentOS Stream 10 / AlmaLinux 10(6.12 系列)
Fedora 44(6.19.14-300.fc44)
openSUSE Tumbleweed(7.0.2-1-default)
受影响版本:
· xfrm-ESP:内核 commit cac2661c53f3(2017-01-17)起至最新主线(约 9 年影响范围)
· RxRPC:内核 commit 2dc334f1a63a(2023-06)起至最新主线
几乎覆盖当前所有主流企业级和桌面 Linux 发行版
【自查方法】
一、如何查看linux Kernel版本,输入uname -a
二、检查风险模块是否加载(esp4, esp6, rxrpc)
lsmod | grep -E "^(esp4|esp6|rxrpc)"
【修复建议】
一、升级至包含 mainline commit a664bf3d603d的内核版本,各主流发行版正在陆续发布修复版本,具体命令如下:
Ubuntu、Debian版本:
sudo apt update
sudo apt upgrade
sudo reboot
RHEL、CentOS、Fedora、AlmaLinux 、Rocky Linux版本:
sudo dnf update
sudo reboot
openSUSE SUSE版本:
sudo zypper update
sudo reboot
升级后重启系统使新内核生效,并通过以下命令验证是否包含修复 commit:
grep -r "a664bf3d603d" /proc/version 2>/dev/null || uname -r
二、临时缓解方案
可执行以下命令,禁用存在漏洞的内核模块做临时防护:
sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; true"
【参考链接】
https://github.com/V4bel/dirtyfrag


