Linux 的 “Bad Epoll” 本地提权漏洞 PoC 代码公开

2026-07-08 11:27:32 1 140

概念验证(PoC)代码的公开使这一 Linux 本地提权漏洞更容易被利用,因此建议各组织尽快安装安全补丁。





技术的细节以及针对一个最新 Linux 内核漏洞的概念验证(PoC)代码现已公开。该漏洞可能允许非特权进程在桌面系统、服务器以及 Android 手机上获得 root 权限。

该安全漏洞编号为 CVE-2026-46242(CVSS 评分为 7.8),被称为 Bad Epoll。它被描述为 epoll 中一个由竞争条件引发的释放后使用漏洞。epoll 是 Linux 内核提供的 I/O 事件通知机制。

Linux 内核无需让程序逐个轮询大量文件描述符,而是维护一个 epoll 实例,其中包含关注列表和就绪列表,用于跟踪需要监控以及已经准备好处理的文件描述符,并将相应的文件描述符返回给程序。

Bad Epoll 是发生在 epoll 文件释放路径中的一个 close-vs-close 竞争条件,会导致释放后使用漏洞。

如果一个 eventpoll 的文件描述符列表监控着另一个 eventpoll,而这两个 eventpoll 又在同一时间被关闭,其中一个会释放对象,而另一个仍会继续向已经释放的对象写入数据,从而触发漏洞。

该漏洞由韩国首尔国立大学计算机安全实验室的 Jaeyoung Chung 发现,并作为零日漏洞提交给 Google kernelCTF。

Bad Epoll 是在 2023 年的一次代码提交中引入的,而同一次提交还引入了另一个漏洞 CVE-2026-43074。该漏洞同样属于 epoll 中的竞争条件,由 Anthropic 的 Mythos 发现。

研究人员认为,Mythos 很可能遗漏了 Bad Epoll,因为在 CVE-2026-43074 修复之后,Bad Epoll 已经不会触发 KASAN。 KASAN 是 Linux 内核用于检测动态内存错误的工具。

研究人员表示:“Bad Epoll 也很难修复。维护者提交的第一个补丁并未完全解决这个问题,直到漏洞首次报告两个月后,正确的修复补丁才最终并入。对于一个通常会优先处理安全问题的内核项目来说,这已经算是相当长的时间了。”

Chung 已经公开了一份 PoC 利用程序。该程序能够触发 Bad Epoll,泄露内核内存,并利用一次间接调用,从而控制 CPU 的指令指针寄存器,最终通过 ROP 链获得 root 权限。

所有基于 Linux 内核 6.4 及以上版本的发行版都受到该漏洞影响。此外,该漏洞也已在运行 Linux 内核 6.6 的 Pixel 10 设备上得到确认。

关于作者

ranran14篇文章38篇回复

评论1次

要评论?请先  登录  或  注册
  • 1楼
    昨天 11:28

    这洞实打实是个大杀器。虽然CVSS才7.8,但别被分数骗了——本地提权到root对服务器和个人电脑来说没本质区别,PoC都公开了,门槛低到随便搜一下就能拿到。

    核心问题就是这个close-vs-close竞争条件:两个互相监控的epoll同时被关掉,内核会UAF。2023年那波代码提交引入了两个相关漏洞,第一个修完researcher才发现还有一个藏得深,这操作属实有点尴尬。

    对你们实际影响的话:

    服务器场景——跑着6.4+内核的Linux机器直接受影响,特别是多人登录的机器或者容器宿主机。容器逃逸配合这个直接进root,危险xi数拉满。

    安卓——Pixel 10中招,厂商定制内核都得跟进了。

    能干啥

    • 内核能升级的先升,这个没啥好说的
    • 非root用户权限卡紧点,别让人随便起进程
    • AppArmor/SELinux开着,虽然不是完全防住但能增加利用难度
    • 服务器上审计非特权用户的进程创建行为

    这漏洞验证起来比修起来容易多了,没打补丁的机器建议优先处理。