Linux内核漏洞可泄露SSH主机密钥

ZDNET AI··作者 Steven Vaughan-Nichols

关键信息

该漏洞位于Linux内核的ptrace访问检查逻辑,具体是 __ptrace_may_access(),在进程退出的竞态窗口中,另一个进程可能窃取仍然打开的文件描述符。Qualys还展示了概念验证利用代码,Linus Torvalds也解释说问题涉及一个不寻常的“dumpable”特殊情况;受影响的是2026年5月14日之前发布的内核。

资讯摘要

ZDNET 报道称,Linux 近期又出现了一个高关注度安全问题,这次是一个本地信息泄露漏洞,昵称为“ssh-keysign-pwn”。Qualys 将其披露为 CVE-2026-46333,并表示它可能已经以某种形式存在了大约六年。该漏洞影响 Linux 内核的 ptrace 访问检查逻辑,在进程退出的过程中可能被触发。由于在这一窗口里内核可能在内存映射已经消失后跳过常规的 dumpable 检查,另一个进程就可能窃取仍然打开的文件描述符。一个利用路径是滥用 OpenSSH 的 ssh-keysign 辅助程序,它用于基于主机的认证,并且需要访问通常只有 root 才能读取的主机密钥。

攻击成功后,攻击者可能读取 SSH 主机私钥、shadow 密码文件和其他敏感数据。这个漏洞本身不会直接提供完整的 root shell,但它可以用于冒充主机、离线破解密码、复用凭据,以及在系统之间进一步横向移动。Qualys 表示,他们已经用概念验证代码证明该漏洞可以稳定触发,而 Linux 稳定版维护者 Greg Kroah-Hartman 也已在多个受支持分支中发布修复。文章列出的已修复版本包括 7.0.8、6.18.31、6.12.89、6.6.139、6.1.173、5.15.207 和 5.10.256。报道还指出,2026 年 5 月 14 日之前发布的内核都受影响,建议尽快升级到发行版提供的修补版本。

Linux内核漏洞可泄露SSH主机密钥

资讯正文

ZDNET 的核心要点:

又是新的一天,又是一个 Linux 漏洞。补丁现在已经发布。不过,在大多数发行版中它还尚未可用。

Linux 最新的内核漏洞没有花哨的名字;它就叫“ssh-keysign-pwn”。这是在短短几周内影响 Linux 的第四个高风险本地安全漏洞。这个漏洞允许普通用户悄悄读取系统上一些最敏感的文件,包括 Secure Shell(SSH)主机私钥和 shadow 密码文件。

这个漏洞之所以得名“ssh-keysign-pwn”,源于其主要利用路径之一:滥用 OpenSSH 的 ssh-keysign 辅助二进制程序。Keysign -keysign 用于基于主机的认证,通常以 setuid root 身份运行,在完成工作前会打开系统的 SSH 主机密钥并放弃特权。

另见:过去两周里第三个重大的 Linux 内核漏洞已被发现——多亏了 AI

我们正需要这个。又一个令人烦恼且可能危险的 Linux 漏洞。

漏洞解析

安全公司 Qualys 的安全研究人员披露了 CVE-2026-46333,这是 Linux 内核 ptrace 访问检查中的一个信息泄露漏洞。Qualys 声称,这个问题以某种形式已经存在了大约六年。

该漏洞位于 __ptrace_may_access() 的逻辑中,这段逻辑会在进程退出时运行。在某些条件下,一旦进程放弃了其内存映射,内核就会跳过正常的“dumpable”检查。这会为另一个进程窃取其文件描述符打开一个短暂的窗口。

虽然 ssh-keysign-pwn 本身不会直接交出完整的 root shell,但能够外泄主机密钥和密码哈希,是实现横向移动和长期持久化的强大基础。此外,借助被盗的 SSH 主机密钥,攻击者可以在基于主机信任关系的环境中伪装成机器;获得 shadow 密码目录的访问权限后,他们可以尝试离线破解密码,并在不同系统之间重复使用这些凭据。

另见:Linux 正在迎来一次安全警醒——为什么这是必然的,以及我并不担心

我们总是需要这种东西。一个能持续窃取密钥和密码的持久性攻击。

在他的补丁中,Linus Torvalds 解释说,问题之所以存在,是因为“我们有一个奇怪的特殊情况:ptrace_may_access() 使用 ‘dumpable’ 来检查与 MM 完全无关的各种其他内容(通常是明确使用诸如 PTRACE_MODE_READ_FSCREDS 之类的标志)。这甚至适用于那些不再拥有 VM 的线程(也许从来没有,比如大多数内核线程)。这并不是这个标志最初的设计用途,但事实就是这样。”

这对你我来说意味着,结合这个逻辑错误与 pidfd_getfd(2) 系统调用,非特权用户可以进入正在关闭中的特权进程,抓取其中仍然打开的文件描述符,然后读取通常只有 root 才能访问的文件。

这本不算什么大事,除非 Qualys 已经通过一个概念验证(PoC)利用演示了,这个漏洞在现实中可以稳定触发,而不仅仅是理论上的。好消息是,修复已经到位。

Linux 稳定版维护者 Greg Kroah-Hartman 已经在多个受支持分支上推出更新,包括 7.0.8、6.18.31、6.12.89、6.6.139、6.1.173、5.15.207 和 5.10.256 等新版本,这些版本都包含 ssh-keysign-pwn 修复。

你需要做什么?你要尽快升级到这些内核中的一个。这个漏洞影响所有在 2026 年 5 月 14 日之前发布的 Linux 内核。否则,正如一位 Manjaro Linux 团队疲惫的成员所说:“如果你不需要用电脑,就别开机。把自己锁起来,时刻留意背后。”好吧,处理这个问题的确也是一种办法!

另外:如何通过 Anthropic 的 AI 课程免费学习 Claude Code

在已修补的内核被广泛提供之前,安全团队确实有一些缓解选项,但每种方案都有取舍。一个简单粗暴的临时办法是通过以下命令收紧 Linux 的 Yama ptrace 限制:sysctl kernel.yama.ptrace_scope=2。这会对非 root 用户禁用 ptrace 并阻止该漏洞利用,但也会破坏许多调试和监控工作流。对开发者工作流来说,这并不理想。

你还可以通过在不需要的系统上禁用基于主机的 SSH 身份验证以及 ssh-keysign 辅助程序来降低暴露面。这样可以移除窃取主机密钥的主要途径。不过,这也会让 SSH 直接失效,而对很多 Linux 系统来说,这并不是一个可接受的选择。

至于我自己?我会持续监控我的系统,并希望我日常使用的发行版——Linux Mint、Ubuntu、AlmaLinux、openSUSE 和 Rocky Linux——能在周末结束前完成修补。

来源与参考

  1. 原始链接
  2. The 4th Linux kernel flaw this month can lead to stolen SSH host keys

收录于 2026-05-16