【已复现】隐藏15年的LinuxKernel提权漏洞GhostLock(CVE-2026-43499)

admin 2026-07-10 06:22:14 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 360漏洞研究院披露Linux内核rtmutex/FutexPI路径高危提权漏洞CVE-2026-43499,CVSS7.8,存在15年。攻击者利用FutexPI代理锁回滚中的stack-UAF缺陷,可本地提权至root或容器逃逸。影响2.6.39及之后版本,官方补丁已发布,建议立即升级内核。 综合评分: 90 文章分类: 漏洞分析,漏洞预警,红队,内网渗透,应急响应


cover_image

【已复现】隐藏15年的 Linux Kernel 提权漏洞 GhostLock(CVE-2026-43499)

原创

360漏洞研究院 360漏洞研究院

360漏洞研究院

2026年7月9日 11:01 四川

在小说阅读器读本章

去阅读

Linux 内核 rtmutex/Futex PI 路径曝出高危本地权限提升漏洞(CVE-2026-43499,CVSS 7.8),攻击者通过触发 Futex PI 代理锁回滚流程中的 stack-UAF 内存安全缺陷,可构造受控内核内存写操作,最终实现本地 root 权限提升,也可用于容器逃逸。

利用前置条件:

  • 攻击者需要具备本地执行能力
  • 目标内核需启用 CONFIG_FUTEX_PI=y

目前 360漏洞挖掘智能体已成功复现该漏洞。本文包含完整影响范围、修复方案、技术原理与复现细节,建议用户立即升级。

| | | | | | — | — | — | — | | 漏洞概述 | | | | | 漏洞名称 | Linux rtmutex/Futex PI stack-UAF 本地提权与容器逃逸漏洞 | | | | 漏洞编号 | CVE-2026-43499 | | | | 公开时间 | 2026-07-07 | POC状态 | 已公开 | | 漏洞类型 | 权限提升/容器逃逸 | EXP状态 | 已公开 | | 利用可能性 | 高 | 技术细节状态 | 已公开 | | CVSS 3.1 | 7.8 | 在野利用状态 | 未发现 |

01

漏洞影响范围

该漏洞自2.6.39-rc1的 commit:8161239a8bcce9ad6b537c04a1fa3b5c68bae693引入,由commit:3bfdc63936dd4773109b7b8c280c0f3b5ae7d349 修复,受影响周期长达 15 年 ,属于长周期漏洞。

已确认的修复情况如下:

  • 在 6.1 分支中,自 6.1.175 起修复
  • 在 6.6 分支中,自 6.6.140 起修复
  • 在 6.12 分支中,自 6.12.86 起修复
  • 在 6.18 分支中,自 6.18.27 起修复
  • 在 7.0 分支中,自 7.0.4 起修复
  • 在 7.1 及后续版本中已全部修复

Linux 内核 2.6.39 及之后、低于上述修复版本的中间版本均受影响。

内核配置CONFIG_FUTEX_PI=y并且版本在受影响范围内未应用补丁的主流发行版以及Android内核均受到影响。

02

修复建议

正式防护方案

官方修复补丁已经发布,受影响版本请尽快修复。

diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.cindex ccaba6148b619..4f386ea6c7928 100644--- a/kernel/locking/rtmutex.c+++ b/kernel/locking/rtmutex.c@@ -1544,6 +1544,8 @@ static bool rtmutex_spin_on_owner(struct rt_mutex_base *lock,  * Must be called with lock->wait_lock held and interrupts disabled. It must  * have just failed to try_to_take_rt_mutex().+ *+ * When invoked from rt_mutex_start_proxy_lock() waiter::task != current !  */ static void __sched remove_waiter(struct rt_mutex_base *lock,           struct rt_mutex_waiter *waiter)@@ -1551,14 +1553,15 @@ static void __sched remove_waiter(struct rt_mutex_base *lock, {   bool is_top_waiter = (waiter == rt_mutex_top_waiter(lock));   struct task_struct *owner = rt_mutex_owner(lock);+  struct task_struct *waiter_task = waiter->task;   struct rt_mutex_base *next_lock;
   lockdep_assert_held(&lock->wait_lock);-  raw_spin_lock(&current->pi_lock);-  rt_mutex_dequeue(lock, waiter);-  current->pi_blocked_on = NULL;-  raw_spin_unlock(&current->pi_lock);+  scoped_guard(raw_spinlock, &waiter_task->pi_lock) {+    rt_mutex_dequeue(lock, waiter);+    waiter_task->pi_blocked_on = NULL;+  }
   /*    * Only update priority if the waiter was the highest priority@@ -1594,7 +1597,7 @@ static void __sched remove_waiter(struct rt_mutex_base *lock,   raw_spin_unlock_irq(&lock->wait_lock);
   rt_mutex_adjust_prio_chain(owner, RT_MUTEX_MIN_CHAINWALK, lock,-           next_lock, NULL, current);+           next_lock, NULL, waiter_task);   raw_spin_lock_irq(&lock->wait_lock); }

补丁核心是让 remove_waiter() 使用 waiter->task 获取真正 waiter 任务,持有 waiter_task->pi_lock 后执行 rt_mutex_dequeue() 并清理 waiter_task->pi_blocked_on,同时让 rt_mutex_adjust_prio_chain() 以 waiter_task 为参数。

03

漏洞描述

GhostLock(CVE-2026-43499)是 Linux 内核 rtmutex/Futex PI 路径中的 stack-UAF 漏洞。漏洞源于 remove_waiter() 在 rt_mutex_start_proxy_lock() 的 proxy-lock rollback 场景中错误假设 current 就是 waiter 所属任务;当 FUTEX_WAIT_REQUEUE_PI 与 FUTEX_CMP_REQUEUE_PI 形成 PI 依赖环并触发 -EDEADLK 回滚时,代码清理了 requeuer 的 current->pi_blocked_on,而没有清理真正 waiter 线程的 pi_blocked_on,导致 waiter 返回用户态后仍持有指向其旧内核栈帧 rt_mutex_waiter 的悬空指针。

攻击者无需特殊内核配置、无需 CAP_NET_ADMIN / CAP_SYS_ADMIN,也不依赖 user namespace。通过重用 waiter 自身内核栈、伪造 rt_mutex_waiter,获得受约束的内核写原语,再覆盖 inet6_protos[IPPROTO_UDP] 指向可控 CPU entry area,触发控制流劫持并修改 core_pattern sysctl 权限位,最终实现本地提权,也可以用于容器逃逸。

04

漏洞复现

360漏洞研究院已成功复现 Linux rtmutex/Futex PI stack-UAF 本地提权与容器逃逸漏洞(CVE-2026-43499),实现本地权限提升。

CVE-2026-43499

Linux rtmutex/Futex PI stack-UAF 本地提权与容器逃逸漏洞复现

05

时间线

2026年7月9日,360漏洞研究院发布本安全风险通告。

06

参考链接

https://nebusec.ai/research/ionstack-part-2/

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8161239a8bcce9ad6b537c04a1fa3b5c68bae693

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3bfdc63936dd4773109b7b8c280c0f3b5ae7d349

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/patch/?id=3bfdc63936dd4773109b7b8c280c0f3b5ae7d349

07

更多漏洞情报

“扫描下方二维码,进入公众号粉丝交流群。更多一手网安资讯、漏洞预警、技术干货和技术交流等您参与!”

建议您订阅360数字安全-漏洞情报服务,获取更多漏洞情报详情以及处置建议,让您的企业远离漏洞威胁。

邮箱:[email protected]

网址:https://vi.loudongyun.360.net

“洞”悉网络威胁,守护数字安全

关于我们

360 漏洞研究院,隶属于360数字安全集团。其成员常年入选谷歌、微软、华为等厂商的安全精英排行榜, 并获得谷歌、微软、苹果史上最高漏洞奖励。研究院是中国首个荣膺Pwnie Awards“史诗级成就奖”,并获得多个Pwnie Awards提名的组织。累计发现并协助修复谷歌、苹果、微软、华为、高通等全球顶级厂商CVE漏洞3000多个,收获诸多官方公开致谢。研究院也屡次受邀在BlackHat,Usenix Security,Defcon等极具影响力的工业安全峰会和顶级学术会议上分享研究成果,并多次斩获信创挑战赛、天府杯等顶级黑客大赛总冠军和单项冠军。研究院将凭借其在漏洞挖掘和安全攻防方面的强大技术实力,帮助各大企业厂商不断完善系统安全,为数字安全保驾护航,筑造数字时代的安全堡垒。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:360漏洞研究院 360漏洞研究院 360漏洞研究院《【已复现】隐藏15年的 Linux Kernel 提权漏洞 GhostLock(CVE-2026-43499)》

评论:0   参与:  0