
0x00 配景先容
克日,,,,,3377体育网官网入口阿尔法实验室监测到Linux Kernel主线修复了一个外地权限提升误差CVE-2026-46242(Bad Epoll)。。。。。。乐成使用该误差不但可以在Linux桌面版和服务器版上获取root权限,,,,,还可以在安卓装备上获取root权限,,,,,且可以在Chrome渲染器的沙箱内触发,,,,,以是该误差的影响较大,,,,,这是由于大大都Linux外地提权误差无法在安卓内核中举行使用,,,,,也无法在Chrome渲染器的沙箱内触发。。。。。。目今,,,,,此误差的细节及Exp已经果真,,,,,部分主流Linux刊行版已宣布针对该问题的补丁或更新,,,,,因此,,,,,请受影响用户连忙凭证修复建议对该误差举行防御。。。。。。
0x01 误差形貌
Linux内核是一个开源、宏内核但支持动态???????榧釉氐牟僮飨低辰沟,,,,,认真治理硬件资源并为上层软件提供运行情形。。。。。。它通过历程调理、内存治理、虚拟文件系统、网络协议栈和装备驱动等要害子系统,,,,,实现对CPU、内存、磁盘及外设的笼统与调理,,,,,并提供稳固、清静和高效的接口供应用程序使用。。。。。。依附高可移植性、富厚的驱动支持和强盛的社区协作,,,,,其已成为从嵌入式装备到超等盘算机、从安卓系统到云服务器普遍接纳的基础焦点。。。。。。
CVE-2026-46242(Bad Epoll)是Linux Kernel eventpoll子系统的一个条件竞争导致的释放后重用UAF误差。。。。。。乐成使用该误差的外地攻击者可以获取目的系统的root权限。。。。。。当一个eventpoll文件形貌符监视另一个eventpoll文件形貌符时,,,,,同时关闭这两个文件形貌符会触发fs/eventpoll.c中的条件竞争误差。。。。。。当__ep_remove()函数执行WRITE_ONCE(file->f_ep, NULL)时,,,,,对统一目的文件并发的__fput()操作会在eventpoll_release()函数的无锁快速路径上检测到f_ep==NULL,,,,,从而跳过执行eventpoll_release_file()函数,,,,,直接释放目的的eventpoll和file工具。。。。。。__ep_remove()会继续通过指针写入这些已释放的工具,,,,,导致释放后重用UAF误差。。。。。。
虽然该误差的竞争窗口仅有6条指令左右,,,,,通常的实验险些不可能赢得竞争条件,,,,,但误差使用可以扩大竞争窗口,,,,,并运行一个永远不会导致内核瓦解的重试循环,,,,,使误差使用乐成率抵达99%。。。。。。使用条件:1、Capabilities:不需要2、内核设置:CONFIG_EPOLL3、是否需要用户命名空间:否
0x02 误差基础缘故原由剖析
epoll是Linux的I/O事务多路复用机制,,,,,允许单个程序同时监视大宗文件形貌符与网络毗连。。。。。。Nginx、Node.js、Chrome等险些所有现代服务与浏览器都依赖它,,,,,且无法关闭。。。。。。Bad Epoll的实质是内核中两条工具整理路径并发执行时引发的条件竞争:一条路径已将某内核工具释放,,,,,另一条路径仍在向其写入,,,,,从而导致释放后重用(UAF)。。。。。。该误差的触发历程如下所示。。。。。。

上图建设了两个epoll文件形貌符ep_waiter和ep_target,,,,,其中ep_waiter监视ep_target。。。。。。关于每个文件形貌符ep_X,,,,,epoll_X 是其结构体eventpoll,,,,,file_X是其结构体file。。。。。。线程B释放了两个工具epoll_target和file_target,,,,,而线程A的__ep_remove()函数仍然引用它们,,,,,因此,,,,,条件竞争导致了两次差别的释放后重用UAF。。。。。。[1]处是对结构体file的玖犀UAF,,,,,epi->ffd.file持有目的file,,,,,但其f_count始终未增添,,,,,因此,,,,,__ep_remove()会一连操作已释放(可能已被接纳)的file_target,,,,,同时持有其f_lock。。。。。。is_file_epoll(file)读取的效果即为UAF读取。。。。。。若是释放的file连忙被接纳为非事务轮询文件[0],,,,,则free_ephead()会将 &epoll_target->refs释放到过失的缓存(kmalloc-192)中,,,,,导致无效释放[3]。。。。。。[2]处是对结构体eventpoll的UAF(在偏移量160字节处写入 0,,,,,在kmalloc-192中分派)。。。。。。hlist_del_rcu(&epi->fllink)通过悬空的epi->fllink.pprev写入*pprev=0,,,,,该指针指向已释放的&epoll_target->refs(已释放的eventpoll工具内部160字节处)。。。。。。Linux Kernel对此误差的补丁如下所示。。。。。。在ep_remove()的开头,,,,,通过epi_fget()锁定@file,,,,,并在锁定乐成时触发临界区。。。。。。由于锁定乐成,,,,,@file无法抵达引用计数为零,,,,,从而阻止__fput()的执行,,,,,并间接地坚持被监视的struct eventpoll在hlist_del_rcu()和f_lock使用时代处于运动状态,,,,,最终关闭两个UAF。。。。。。
0x03 误差编号
CVE-2026-46242
0x04 误差品级
高危
0x05 受影响版本
受影响的Linux内核版本:58c9b016e128 <= Linux Kernel Commit < a6dc643c693
已知受影响的刊行版:Red Hat Enterprise Linux 10Red Hat Enterprise Linux 9Ubuntu 24.04 LTSUbuntu 25.10Ubuntu 26.04 LTSDebian 13 (Trixie)Debian 14 (Forky)已知的安卓装备影响规模:Google Pixel 10(Linux内核版本6.6及以上):受影响。。。。。。Google Pixel 8和其他基于Linux内核6.1的装备:不受影响,,,,,由于该误差在Linux内核6.4中引入。。。。。。
0x06 修复建议
Linux Kernel已宣布正式补丁,,,,,建议受影响用户尽快将Linux Kernel升级到包括补丁的清静版本。。。。。。
官方补丁链接:https://git.kernel.org/stable/c/a6dc643c69311677c574a0f17a3f4d66a5f3744b各个Linux刊行版误差通告链接:Debian:https://security-tracker.debian.org/tracker/CVE-2026-46242Ubuntu:https://ubuntu.com/security/CVE-2026-46242Red Hat:https://access.redhat.com/security/cve/cve-2026-46242
由于Linux Kernel的epoll子系统操作系统、网络服务和浏览器都依赖的焦点内核功效,,,,,无法像Copy Fail及其变种误差那样通过卸载受攻击的???????槔淳傩性菔被航,,,,,修复此误差的唯一要领就是应用补丁,,,,,将Linux Kernel升级至清静版本。。。。。。
0x07 声明
3377体育网官网入口阿尔法实验室拥有对此通告的修改息争释权,,,,,如欲转载,,,,,必需包管此通告的完整性。。。。。。由于撒播、使用此通告而造成的任何效果,,,,,均由使用者自己认真,,,,,3377体育网官网入口阿尔法实验室不为此肩负任何责任。。。。。。

京公网安备 11010802026257号