OpenSSH 在 musl 发行版上出现严重认证绕过漏洞
CVE-2026-123158 提权漏洞影响 Alpine Linux 3.16 至 3.24 及 edge 版本,攻击者可通过超长密码登录无密码或仅密钥账户。
据 zdnet.com 报道,2026 年 11 月 7 日,一个影响基于 musl 的 Linux 发行版上 OpenSSH 的严重认证绕过漏洞被公开并修复,漏洞编号为 CVE-2026-123158。攻击者可通过发送长度为 257 至 1024 字节的超长密码,登录到已禁用密码认证或仅允许密钥认证的账户。
漏洞成因在于 musl 的 crypt() 函数在遇到超长输入时会返回字符串 * 作为错误标志,而这一字符恰好与无密码账户密码字段中存储的 * 相同。利用该漏洞需要满足以下条件:openssh-server 在编译时未启用 PAM(或设置了 UsePAM no)、启用了 PasswordAuthentication,且机器上至少存在另一个使用 5 或 6 号密码哈希的账户。
Alpine Linux 表示,经检查的所有版本均受影响,包括 3.16 至 3.24 以及 edge,其中 tiny-cloud 镜像 3.18.11 至 3.24.3 被特别指出风险较高。Alpine Linux 同时说明,未运行 sshd 的容器、已禁用密码认证的系统,以及使用 openssh-server-pam 并设置 UsePAM yes 的系统不受影响。
Wind River 表示正在积极评估所报告的漏洞,并将采取适当措施。建议用户立即打补丁并重启已修复的软件。
背景
据发现该问题的团体介绍,musl crypt() 中导致该漏洞的行为自 2016 年起就已存在。在此次披露前几天,Alpine Linux 还处理了其 GitLab 实现中的一个安全漏洞。自 Alpine 3.16 左右起,基础镜像中的 root 以 root:* 形式提供,但 OpenSSH 默认的 PermitRootLogin prohibit-password 会阻止直接以 root 登录。
快速问答
哪些系统受 CVE-2026-123158 影响?
Alpine Linux 经检查的 3.16 至 3.24 及 edge 版本均受影响,tiny-cloud 镜像 3.18.11 至 3.24.3 风险尤其高;其他基于 musl 的发行版同样可能受影响。
如何判断我的系统是否不受影响?
未运行 sshd 的容器、已禁用密码认证的系统,以及使用 openssh-server-pam 并设置 UsePAM yes 的系统不受影响。
应该采取什么措施?
用户应立即打补丁并重启已修复的软件。