OpenSSH 爆出 10 年老漏洞:输入超长密码,就能绕过 SSH 登录验证|CVE-2026-123158

一个超长密码,就能攻破 SSH?

OpenSSH 爆出一个隐藏了约 10 年的严重漏洞:攻击者无需知道真实密码,也不需要 SSH 私钥,只需输入一串超长密码,就可能绕过 Linux 账户的密码锁定机制,直接登录系统,甚至获得 root 权限。@Appinn

11 月 5 日,OpenSSH 紧急发布 10.6p2,修复了这个被研究人员命名为 *sshole 的严重漏洞(CVE-2026-123158),评分 8.1 分(高危)。

在满足特定条件的服务器上,攻击者无需知道密码,也不需要 SSH 私钥,就可能成功登录系统,甚至获得 root 权限。

先别慌:这次主要影响 Alpine Linux 等使用 musl libc 的系统,常规 Ubuntu、Debian 服务器不受影响。

OpenSSH 爆出 10 年老漏洞:输入超长密码,就能绕过 SSH 登录验证|CVE-2026-123158 1

一个超长密码,为什么能登录 SSH?

正常情况下,如果 SSH 服务器开启了密码登录,用户必须输入正确的密码才能登录。而对于那些没有设置密码的 Linux 账户,无论输入什么密码,都应该无法登录。

但研究人员 Özgün Kültekin 发现,在部分 OpenSSH 与 musl libc 的组合中,只需要输入一串超长密码,竟然就能登录这些原本无法通过密码登录的账户。(强调一下,有密码的账户不受影响,没设置密码的账户受影响)

Linux 的 /etc/shadow 文件使用 * 表示账户没有有效的密码哈希,无法通过普通密码验证登录。

巧合的是,musl libc 的密码处理函数 crypt() 遇到超过 256 字节的密码时,也会返回 *,表示处理失败。

问题就出在这里。

OpenSSH 爆出 10 年老漏洞:输入超长密码,就能绕过 SSH 登录验证|CVE-2026-123158 2

在特定情况下,OpenSSH 把两个 * 当成了密码验证成功。

于是,攻击者只需要知道目标用户名,输入一段 257~1024 字节的任意密码,就可能绕过身份验证。

整个过程不需要猜测密码,也不需要反复尝试。

这个问题源于多个组件之间的逻辑交互,相关代码可以追溯到 2016 年。

哪些服务器会受到影响?

这次漏洞有比较严格的触发条件。受影响的服务器需要同时满足:

  • 使用 musl libc,例如部分 Alpine Linux、OpenWrt 或嵌入式 Linux 系统。
  • OpenSSH 没有使用 PAM 进行密码验证。
  • SSH 开启了密码登录(PasswordAuthentication yes)。
  • 存在密码字段为 * 的账户。
  • 至少有另一个本地账户使用符合条件的有效密码哈希。

其中,Alpine Linux 尤其值得注意。

Alpine 经常用于 Docker 容器、云服务器和轻量级 Linux 环境,其 OpenSSH 服务端默认不使用 PAM。

研究人员还指出,部分 Alpine 官方云镜像中的默认账户具有免密码执行 doas 的权限。一旦攻击者成功登录,可能进一步获得 root 权限。

普通 Ubuntu、Debian、Fedora 等使用 glibc 的系统,不受此次漏洞影响;使用 Dropbear SSH 服务端的设备同样不受影响。

OpenSSH 已紧急修复,Alpine 也发布了补丁

OpenSSH 已于 11 月 5 日发布 10.6p2,阻止无效密码哈希被错误地判断为验证成功。

Alpine Linux 也为多个版本分支提供了修复软件包,包括部分已经结束常规支持的旧版本。

如果正在使用 Alpine Linux,可以执行:

apk update
apk upgrade
rc-service sshd restart

如果暂时无法更新,可以先确认 SSH 密钥登录正常,然后在 SSH 服务端配置中关闭密码验证:

PasswordAuthentication no

(此处再次验证了取消密码登录的含金量啊)

目前有实际攻击吗?

截至 11 月 6 日,尚未发现经过确认的公开利用案例。

但漏洞技术细节已经公开,满足攻击条件的服务器应尽快修复,尤其是直接暴露在公网的 SSH 服务。


原文:https://www.appinn.com/openssh-sshole-cve-2026-123158/

相关链接:

漏洞编号: CVE-2026-123158
漏洞名称: *sshole
修复版本: OpenSSH 10.6p2(发行版也可能提供旧版本补丁回移)
披露日期: 2026 年 11 月 5 日

这篇文章对你有帮助吗?

Enable Notifications OK No thanks