3周内第4个Linux内核高危漏洞曝光!潜伏近9年,普通用户可直接窃取Root权限

2026年5月,Linux内核安全团队度过了一个极度难熬的月份。在连续修复了Copy Fail(4月29日)、Dirty Frag(5月7日)和Fragnesia(5月13日)三个高危漏洞之后,第四记重锤——CVE-2026-46333——“ssh-keysign-pwn”轰然落下。这个潜伏近9年的逻辑缺陷位于__ptrace_may_access()函数,允许任何本地普通用户读取本该被严格保护的root级敏感文件(如SSH主机密钥),甚至直接提权至root,执行任意系统命令。本文全面还原该漏洞的技术原理,并提供完整的应急与纵深防御方案。


一、 核心速览

  • 漏洞编号:CVE-2026-46333
  • 漏洞代号:ssh-keysign-pwn(Qualys命名)
  • CVSS评分:5.5(中危,但现实危害极大)
  • 发现团队:Qualys Threat Research Unit (TRU)
  • 潜伏时长:近9年(2017年引入)
  • 报告时间:2026-05-11
  • 公开时间:2026-05-14
  • 受影响系统:Debian 13、Ubuntu 24.04/26.04、Fedora 43/44等主流发行版
  • 漏洞类型:本地信息泄露 + 本地提权
  • 补丁提交:Linus Torvalds本人提交commit 31e62c2ebbfd,5月14日合入主线

该漏洞是 Linux 内核 ptrace 子系统中的一个古老设计缺陷。攻击者无需任何高深技巧,不需要竞争条件,即可稳定复现。

二、 技术原理剖析

2.1 漏洞根源:ptrace 权限检查的逻辑缺陷

漏洞位于Linux内核的__ptrace_may_access()函数中,这是ptrace系统调用(用于跟踪进程)的核心访问控制入口。内核开发者为提高性能,设置了“旁路(fast-path)”机制:当目标进程没有内存描述符(mm == NULL)时,该进程被认定为“内核线程”,可以直接跳过大部分权限检查。

然而,研究人员发现,一个正处在“降权(setuid)”过渡期的进程,也可能暂时丢失内存描述符。进程因setuid从root降为普通用户的过程中,旧的root级文件句柄尚未关闭,漏洞利用程序pidfd_getfd()可以趁机从目标进程手中“偷走”这些仍处于打开状态的文件描述符,包括SSH主机私钥

2.2 攻击链:从文件描述符到root权限

Qualys研究团队通过ssh-keysign程序成功验证了该漏洞的利用路径:

  • 第一环 · 窃取SSH主机私钥ssh-keysign会被临时调用,短暂运行期间以root身份读取SSH主机私钥,建立网络通信。漏洞利用程序趁此窗口期,通过pidfd_getfd()从该进程中窃取私钥文件的文件描述符,从而无权限地读取其内容。
  • 第二环 · 窃取 /etc/shadow 密码哈希:攻击者利用类似手法,从accounts-daemon等守护进程中窃取/etc/shadow的打开句柄,获取所有用户的密码哈希值。
  • 第三环 · 提权至root:通过窃取到的SSH主机私钥,攻击者可以伪装成目标系统发起中间人攻击,或解密过去的网络流量。配合/etc/shadow的哈希值,使用暴力破解工具即可恢复出root密码。

2.3 PoC(概念验证)

安全社区已在GitHub等平台发布了成熟、稳定、无需竞争条件的漏洞利用代码(PoC),并命名为 “ssh-keysign-pwn”。攻击者将几段小巧的C程序编译后执行,即可在几分钟内窃取SSH密钥和/etc/shadow。开发者和安全团队仍在加固和测试环境,而攻击者早已开始武器化扫描。

三、 漏洞危害与真实世界影响

  • SSH密钥雪崩:可无权限窃取/etc/ssh/ssh_host_ecdsa_keyssh_host_ed25519_keyssh_host_rsa_key等私钥,攻击者解密历史流量、发起中间人攻击、横向移动到其它服务器。
  • /etc/shadow沦陷:获得所有用户的密码哈希值,配合彩虹表或GPU暴力破解,普通用户密码很快告破,root密码一旦恢复,系统即被完全接管。
  • 隐蔽性极高:不会产生任何日志或core dump痕迹,传统文件完整性检查(如Tripwire)无法发现。
  • 影响范围极大:已验证Debian 13、Ubuntu 24.04/26.04、Fedora 43/44等全系列现代发行版。Red Hat、SUSE、AlmaLinux、CloudLinux等均受影响。

四、 修复与应急措施

4.1 立即升级内核

所有主流发行版均已向后移植修复补丁。务必立即更新并重启系统:

  • Debian:升级至6.1.172-1或更高版本。
  • Ubuntu:运行apt update && apt upgrade linux-image-generic
  • Fedora/RHEL:运行dnf update kernel
  • AlmaLinux / Rocky Linuxdnf update kernel

⚠️ 重启验证:更新后执行uname -a,确保内核版本号显示补丁日期为2026年5月14日之后。

4.2 绝对不依赖YAMA(权宜之计)

部分文章建议通过sysctl kernel.yama.ptrace_scope限制ptrace。这对CVE-2026-46333无效,因为攻击完全不受YAMA限制,真实的补救措施只有更新内核本身。

4.3 立即轮换所有SSH密钥

无论是否已更新,立即轮换服务器上所有SSH主机密钥

# 删除旧密钥
rm -f /etc/ssh/ssh_host_*
# 重新生成
ssh-keygen -A
# 重启SSH服务
systemctl restart ssh

4.4 强制所有用户更改密码

通知所有用户更改密码,并强制使用高复杂度密码。之前所有用户的密码哈希已明文暴露在攻击者的彩虹表攻击范围内。

五、 纵深防御:百度云防护WAF

CVE-2026-46333是一个本地利用漏洞,WAF无法直接阻止攻击者在终端上窃取SSH密钥,但它可以从网络侧彻底阻断攻击链的前置条件。

5.1 阻断网络入口(SSH暴力破解)

部署百度云防护后,启用 “区域封禁”“IP情报库”,系统会自动封禁来自海外的恶意IP扫描行为,配合JA4指纹识别精准锁定攻击工具特征,显著降低服务器暴露风险。

5.2 防御横向移动与数据外泄

即使内网中某台机器沦陷,攻击者也不可能畅通无阻地横向移动。WAF的策略可以过滤内网中的异常流量,阻断窃取数据向外传输的C2通信,并探测内网中异常的文件读取行为。

5.3 套餐计费,成本可控

最让站长安心的是,百度云防护采用套餐计费机制。即使不幸被攻击者穿透了防御层,带宽被刷到冒烟,WAF也只会用完套餐内的流量即停止服务,绝不会产生天价后付费账单

六、 总结

2026年5月,Linux内核安全经历了“至暗时刻”,CVE-2026-46333以极其稳定的方式暴露了Linux内核权限管理的长期隐患——一个近9年前引入的逻辑缺陷,让普通用户能够直接窃取最高等级的SSH主机密钥,彻底撕掉了“Linux比Windows更安全”的标签。

唯一真正的救火方案,是立即升级内核。千万不要使用其他“临时规避方案”自欺欺人。此外,构建“纵深防御”思维:部署百度云防护WAF封杀网络层面的外敌入侵,即使内核被钻了空子,也能阻断攻击者的数据外泄和横向移动路径。

如果您的服务器近期无法重启,或者对这些高危漏洞影响范围存在不确定,欢迎联系主机吧,我们提供免费安全评估和深度防御策略。


主机吧 | 专注网络安全实战,助您筑牢服务器安全防线
提供百度云防护WAF、高防CDN、高防IP、高防服务器、SSL证书一站式服务
让每一次攻击都无功而返,让每一台服务器都固若金汤。

给TA打赏
共{{data.count}}人
人已打赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧