加载失败
Dirtyfrag 是一条 Linux 本地提权(LPE)漏洞链,和前不久的 Copy Fail、Dirty Pipe 一样,核心都指向页缓存被错误修改。写作说明里提到它主要落在 IPsec 的 ESP(Encapsulating Security Payload,加密封装载荷)路径和 `rxrpc`(Linux 内核里与 AFS/Andrew File System 生态相关的 RPC 协议)等较少使用的模块上,所以即使某些针对 Copy Fail 的黑名单已经生效,系统仍可能可被打穿。披露过程也牵涉到 `linux-distros`(Linux 安全协调披露邮件列表)和内核补丁先公开、后被第三方提前发布 exploit 的问题,因此评论一半在谈技术,一半在谈开源补丁如何避免提前泄露。这个讨论还延伸到容器、Kubernetes、CI runner、Android(带 SELinux 的移动平台)和 microVM(微型虚拟机)等不同运行环境的隔离能力。
不少评论把 Dirtyfrag 直接看成 Copy Fail 的近亲,甚至认为是同一根因在不同入口上的再现:问题都落在 IPsec 的 ESP/authencesn 路径里,最终表现为对页缓存的越界写。有人进一步指出 RxRPC 其实是另一条独立漏洞,只是代码模式很像,所以才会在同一波审计里一起冒出来。讨论里也反复提到这类 page cache poisoning 攻击和 Dirty Pipe 一样,真正危险的不只是某个模块,而是内核里“数据经由多层封装后丢失来源信息”的设计。还有人纠正了先前对 AF_ALG 的误判,认为罪名更应该落到 authencesn/ESP 这条链路上。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10]
很多人把这次讨论当成 AI 辅助漏洞研究的反例:LLM 擅长沿着明确问题快速扫描,却会让研究者错过“附近还有什么”。评论里有人说,真正有价值的是让 agent 更好奇,去读相邻代码、并行追踪可疑分支,而不是只执行一个收窄后的提问。也有人提到,模型生成的方案和代码风格会把不同语言写得很像 Python/Java,久而久之连研究流程都会收敛。另一派则认为 LLM 仍然有用,只是这次更像人类先起手,再让模型做海量检索与归纳。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10]
披露流程是另一个争议焦点。帖子声称 embargo 被第三方提前公开的 exploit 或补丁打破,因此作者才选择立即完整公开。评论里有人认为开源内核补丁一上 mailing list 就等于半公开,传统 embargo 在 Linux 生态里本来就很脆弱。反对者则觉得把可武器化的细节在几天内推向全网,已经很难再算保守披露。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10] [来源11] [来源12]
临时缓解基本围绕“少让这些模块出现、少让可疑 syscall 通过”。有人给出黑名单方式去禁 `esp4`、`esp6`、`rxrpc` 模块,也有人补充应使用 `sudo tee` 或 `sudo sh -c` 才能真正写入 `/proc/sys/vm/drop_caches`。更广泛的建议是关掉不需要的 unprivileged user namespaces、用 seccomp 和 capabilities 过滤危险路径,Kubernetes 场景里则要确认默认 profile 是否已经挡住这些地址族。共识是:如果机器已经被利用过,仅清 page cache 远远不够,通常得重建镜像。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10]
很多争论其实在讨论发行版该不该默认把小众内核功能留在系统里。有人主张做白名单式加载,或者把 `rxrpc`、IPsec 相关模块拆成单独包;另一派则认为内核本来就以模块化和按需加载为原则,维护者不可能替每个人猜用途。也有人提醒,黑名单式精简会让系统回到早年 `make menuconfig` 那种手工裁剪时代,普通用户会更难用。这个分歧本质上是安全最小化和通用发行版体验之间的取舍。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10] [来源11]
不少人强调,这类漏洞最该担心的是共享 kernel 的多租户环境,而不是单机桌面。只要攻击者能在同一台机器上拿到普通代码执行,就可能借 LPE 升到 UID 0,再利用共享卷、`crontab`、`/etc/passwd` 或 host 可执行文件做后续持久化。讨论里对容器的结论也很一致:很多 PoC 只会拿到容器内 root,不等于立刻逃逸,但对 CI、Kubernetes、shared hosting 和 HPC 来说仍然是现实风险。相对而言,microVM(如 Firecracker)和更严格的隔离被反复拿来当更稳的方案。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10] [来源11] [来源12] [来源13] [来源14]
Android 经常被拿来当反例:它用 SELinux 和更强的 sandboxing 把很多桌面 Linux 默认开放的攻击面提前收紧了。也有人强调,Android 仍然依赖 Linux kernel,只是用户空间和 API 模型不同,而且 OEM 更新周期短,patchability 并不完美。关于 BSD、Windows、macOS 的比较,评论里更偏向“Linux 生态更大、变化更快,所以边角漏洞更容易冒出来”,但也有人认为这更多是工作负载和发行模式差异,而不是内核天生更差。总体上,这是在讨论不同平台如何用更强的默认约束换更小的攻击面。
[来源1] [来源2] [来源3] [来源4] [来源5] [来源6] [来源7] [来源8] [来源9] [来源10] [来源11] [来源12] [来源13] [来源14] [来源15]
page cache poisoning: 通过破坏 Linux 页缓存中的共享页面内容,间接篡改文件或可执行文件的攻击方式。
LPE: Local Privilege Escalation,本地提权:从普通用户提升到 root 或更高权限。
user namespaces: Linux 的用户命名空间机制,可让非特权进程在隔离环境里拥有“看起来像 root”的权限。
seccomp: Linux syscall 过滤机制,常用于容器和沙箱中限制进程可调用的系统调用。
SELinux: 强制访问控制(MAC)框架,通过策略细粒度限制进程能访问什么资源。
microVM: 微型虚拟机,如 Firecracker,用比容器更强的 VM 边界隔离多租户工作负载。
authencesn: Linux IPsec/crypto 路径中与 authenticated encryption + ESN 相关的实现,评论认为这里是 Copy Fail/Dirtyfrag 的关键根因之一。
rxrpc: Linux 内核里的 RPC 协议,和 AFS 生态相关,这次被认为存在另一条独立的漏洞路径。
ESP: IPsec 的 Encapsulating Security Payload,加密封装载荷;评论中提到的漏洞入口之一。