文章总结: 360漏洞研究院披露Linux内核RDSzerocopy本地提权漏洞CVE-2026-43502,影响4.17至7.1-rc2多个版本,CVSS7.8,已公开POC与EXP。漏洞源于zerocopy发送失败后消息清理缺陷,可致本地权限提升。官方已发布修复补丁,建议用户立即升级至修复版本。 综合评分: 88 文章分类: 漏洞分析,应急响应,漏洞预警
【已复现】从 Zerocopy 到 Root:Linux RDS 本地提权漏洞 ZcopyReaper(CVE-2026-43502)
原创
360漏洞研究院 360漏洞研究院
360漏洞研究院
2026年9月10日 10:31 四川
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
Linux 内核 RDS zerocopy 发送路径存在本地权限提升漏洞(CVE-2026-43502)。本地攻击者可利用 RDS 零拷贝发送失败后的消息清理缺陷,导致已固定用户页面的引用及生命周期管理异常,并进一步造成内核内存状态破坏。在满足特定利用条件时,该漏洞可能被用于实现本地权限提升。
利用前置条件:
- 攻击者能够在目标系统本地执行低权限代码
- 目标内核启用了受影响的 RDS 网络协议功能
- 攻击者能够创建并使用 AF_RDS 套接字触发 zerocopy 发送路径
目前 360漏洞挖掘智能体已成功复现该漏洞。本文包含完整影响范围、修复方案、技术原理与复现细节,建议用户立即升级。
| | | | | | — | — | — | — | | 漏洞概述 | | | | | 漏洞名称 | Linux 内核 RDS zerocopy 本地提权漏洞 | | | | 漏洞编号 | CVE-2026-43502 | | | | 公开时间 | 2026-05-21 | POC状态 | 已公开 | | 漏洞类型 | 权限提升 | EXP状态 | 已公开 | | 利用可能性 | 高 | 技术细节状态 | 已公开 | | CVSS 3.1 | 7.8 | 在野利用状态 | 未发现 |
01
漏洞影响范围
引入该漏洞的代码提交(commit)0cebaccef3acbdfbc2d85880a2efb765d2f4e2e3 首次合入 Linux 主线内核 4.17,此后该问题持续存在于后续内核版本中,修复随后被回移至多个稳定内核分支。已确认的受影响及修复范围如下:
- 4.17 至 5.9 分支:包含该漏洞,相关分支目前已停止维护;
- 5.10 分支:5.10.0 至 5.10.257 受影响,自 5.10.258 起修复;
- 5.15 分支:5.15.0 至 5.15.208 受影响,自 5.15.209 起修复;
- 6.1 分支:6.1.0 至 6.1.174 受影响,自 6.1.175 起修复;
- 6.6 分支:6.6.0 至 6.6.139 受影响,自 6.6.140 起修复;
- 6.12 分支:6.12.0 至 6.12.87 受影响,自 6.12.88 起修复;
- 6.18 分支:6.18.0 至 6.18.29 受影响,自 6.18.30 起修复;
- 7.0 分支:7.0.0 至 7.0.6 受影响,自 7.0.7 起修复;
- 主线内核:自 Linux 4.17 起受影响,4.17 至 7.1-rc2 之间的主线版本均受到影响, 在 7.1-rc3 中通过提交 44b550d88b267320459d518c0743a241ab2108fa 修复。
漏洞在发行版openSUSE Leap已实测确认。
02
修复建议
正式防护方案
官方修复commit 44b550d88b267320459d518c0743a241ab2108fa 已经发布,详情如下:
diff --git a/net/rds/message.c b/net/rds/message.cindex eaa6f22601a44..25fedcb3cd00e 100644--- a/net/rds/message.c+++ b/net/rds/message.c@@ -131,24 +131,34 @@ static void rds_rm_zerocopy_callback(struct rds_sock *rs, */ static void rds_message_purge(struct rds_message *rm) {+ struct rds_znotifier *znotifier; unsigned long i, flags;- bool zcopy = false;+ bool zcopy;
if (unlikely(test_bit(RDS_MSG_PAGEVEC, &rm->m_flags))) return;
spin_lock_irqsave(&rm->m_rs_lock, flags);+ znotifier = rm->data.op_mmp_znotifier;+ rm->data.op_mmp_znotifier = NULL;+ zcopy = !!znotifier;+ if (rm->m_rs) { struct rds_sock *rs = rm->m_rs;
- if (rm->data.op_mmp_znotifier) {- zcopy = true;- rds_rm_zerocopy_callback(rs, rm->data.op_mmp_znotifier);+ if (znotifier) {+ rds_rm_zerocopy_callback(rs, znotifier); rds_wake_sk_sleep(rs);- rm->data.op_mmp_znotifier = NULL; } sock_put(rds_rs_to_sk(rs)); rm->m_rs = NULL;+ } else if (znotifier) {+ /*+ * Zerocopy can fail before the message is queued on the+ * socket, so there is no rs to carry the notification.+ */+ mm_unaccount_pinned_pages(&znotifier->z_mmp);+ kfree(rds_info_from_znotifier(znotifier)); } spin_unlock_irqrestore(&rm->m_rs_lock, flags);
在修复后,zerocopy 的判定由 op_mmp_znotifier 是否存在决定,而不再由消息是否已经挂接到 socket 决定。在 rds_message_purge() 中加锁后,先保存并清空 op_mmp_znotifier,并以 notifier 是否存在设置 zcopy 状态。对于已经挂接 socket 的 zerocopy 消息,继续通过原有的 rds_rm_zerocopy_callback() 完成通知和资源清理;对于尚未入队的 zerocopy 消息,则直接执行 mm_unaccount_pinned_pages() 并释放 notifier。随后根据 zcopy 状态释放 payload 页,zerocopy 页面通过 put_page() 释放引用,避免将用户固定页面错误地按普通 payload 页调用 __free_page() 释放。
03
漏洞描述
漏洞位于Linux 内核 net/rds/message.c,RDS zerocopy 发送失败后的消息清理路径。当用户页已经被 pin,但消息尚未挂接到发送 socket 时,旧代码通过 rm->m_rs 推断 zerocopy 状态;未入队消息没有 socket 关联,因此可能按普通 payload 页执行清理。该路径会错误处理 pinned-page 记账、notifier 和 payload 页生命周期,造成页引用计数/内存管理状态破坏。官方修复中明确指出,zerocopy 所有权应由 op_mmp_znotifier 是否存在决定,而不能由消息是否已入队决定。
漏洞由本地 AF_RDS SOCK_SEQPACKET socket 上的 MSG_ZEROCOPY 发送触发,在竞争成功后进一步建立可写 PTE 别名,扫描物理内存并修改 modprobe_path,最终创建 setuid root shell,可造成本地权限提升。
04
漏洞复现
360漏洞研究院已成功复现 Linux 内核 RDS zerocopy 本地提权漏洞(CVE-2026-43502),实现本地权限提升。
CVE-2026-43502
Linux 内核 RDS zerocopy 本地提权漏洞复现
05
时间线
2026年9月10日,360漏洞研究院发布本安全风险通告。
06
参考链接
https://cve.org/CVERecord/?id=CVE-2026-43502
https://kernel.googlesource.com/pub/scm/linux/kernel/git/lee/vulns/+/8beb79ceb379a1ab9382e7a5df407d169737416a/cve/published/2026/CVE-2026-43502.mbox
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0cebaccef3acbdfbc2d85880a2efb765d2f4e2e3
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=44b550d88b267320459d518c0743a241ab2108fa
https://git.kernel.org/stable/c/21d70744e6d3bbf9293aa1ee6fba7c53ad75275e
https://git.kernel.org/stable/c/3abc8983b2bae3f487f77d9da5527d7d6b210d46
https://git.kernel.org/stable/c/14ef6fd18db2494098b21e0471bf27a1d8e9993e
https://git.kernel.org/stable/c/0f5c185fc79a59ee9991234dd6d2a3e5afa6e75b
https://ubuntu.com/security/CVE-2026-43502
https://security-tracker.debian.org/tracker/CVE-2026-43502
https://www.suse.com/security/cve/CVE-2026-43502.html
https://bugzilla.redhat.com/show_bug.cgi?id=2480456
07
更多漏洞情报
“扫描下方二维码,进入公众号粉丝交流群。更多一手网安资讯、漏洞预警、技术干货和技术交流等您参与!”
建议您订阅360数字安全-漏洞情报服务,获取更多漏洞情报详情以及处置建议,让您的企业远离漏洞威胁。
邮箱:[email protected]
网址:https://vi.loudongyun.360.net
“洞”悉网络威胁,守护数字安全
关于我们
360 漏洞研究院,隶属于360数字安全集团。其成员常年入选谷歌、微软、华为等厂商的安全精英排行榜, 并获得谷歌、微软、苹果史上最高漏洞奖励。研究院是中国首个荣膺Pwnie Awards“史诗级成就奖”,并获得多个Pwnie Awards提名的组织。累计发现并协助修复谷歌、苹果、微软、华为、高通等全球顶级厂商CVE漏洞3000多个,收获诸多官方公开致谢。研究院也屡次受邀在BlackHat,Usenix Security,Defcon等极具影响力的工业安全峰会和顶级学术会议上分享研究成果,并多次斩获信创挑战赛、天府杯等顶级黑客大赛总冠军和单项冠军。研究院将凭借其在漏洞挖掘和安全攻防方面的强大技术实力,帮助各大企业厂商不断完善系统安全,为数字安全保驾护航,筑造数字时代的安全堡垒。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:360漏洞研究院 360漏洞研究院 360漏洞研究院《【已复现】从 Zerocopy 到 Root:Linux RDS 本地提权漏洞 ZcopyReaper(CVE-2026-43502)》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。







评论