IT之家 5 月 21 日消息,科技媒体 cyberkendra 昨日(5 月 20 日)发布博文,报道称 Linux 内核再次曝光名为 PinTheft 的提权漏洞,相关补丁已经进入上游内核。 在 Copy Fail (4 月 29 日)、 Dirty Frag (5 月 7 日)、Fragnesia (5 月 13 日)以及 Qualys 威胁研究部门(TRU)披露 CVE-2026-46333 漏洞外,这是过去 3 周内曝光的第 5 个高危漏洞。 PinTheft 漏洞由 V12 安全团队的 Aaron Esau 发现,问题出在 RDS(Reliable Datagram Sockets,可靠数据报套接字)的零拷贝发送路径。 rds_message_zcopy_from_user()在逐页把用户态内存固定到内核空间后,如果后续页面触发错误,错误处理路径会先释放已固定页面;但后续 RDS 消息清理又会再次释放一次,于是形成 double-free。 单看引用计数错误,这类问题通常不容易直接变成稳定提权。不过 PinTheft 把 io_uring 拉进了利用链。 攻击者先把一个匿名内存页注册成 io_uring 固定缓冲区,并赋予 1024 个引用偏置;随后通过 1024 次故意失败的 RDS 发送,逐步耗尽这些引用,最终让 io_uring 手里留下一个本不该再持有的悬空指针。 接下来,利用代码会把目标 SUID 二进制的第一页逐出缓存,再回收同一个物理页,并借助 io_uring 的悬空缓冲区指针覆写特权程序的页缓存。 原文提到,/usr/bin/su、passwd 和 pkexec 都是优先目标,攻击者随后运行被改写的程序,就能直接拿到 root shell。 不过,这个漏洞的利用门槛并不算低。除了需要加载 RDS 模块,系统还必须启用 io_uring,存在可读的 SUID-root 二进制文件,并且运行在 x86_64 平台。 按原文测试结果,在常见发行版中,只有 Arch Linux 默认加载了所需的 RDS 模块,其他主流发行版并不会开箱即用加载它,因此受影响范围相对有限。 IT之家附上参考地址 PinTheft
Full article body is being fetched in the background. Refresh in a moment to see the complete paragraphs. For now this page shows a summary and AI analysis.
