OpenSSH 密码认证绕过漏洞 仅影响 musl 类 Linux 发行版

这个漏洞代号 sshole,编号 CVE-2026-123158,只有同时满足几个条件才会中招,攻击者只要知道目标用户名,提交一段 257 到 1024 字节之间的任意长密码,就能绕过 SSH 密码校验登录账户,不少 Alpine、OpenWrt 这类系统里的账户一旦被拿下,还能进一步拿到 root 权限。漏洞根源是 musl 库里面的 crypt 函数,密码哈希计算失败的时候返回的是星号,而不是标准要求的 NULL;OpenSSH 在没有开启 PAM 认证的模式下,系统 shadow 文件里标记禁止密码登录的账户本身密码字段就是,当超长密码触发 crypt 返回 ,两边比对一致,认证就直接放行。glibc 系统、开启 PAM 校验的机器不受这个漏洞影响。

受影响范围清单

  • 受影响 OpenSSH 版本:10.6p2 之前的版本
  • 受影响系统:使用 musl libc、sshd 编译时不带 PAM 的发行版,典型为 Alpine Linux、OpenWrt、Buildroot、Yocto,还有大量基于 musl 的 Docker 镜像
  • 触发必要条件(全部要满足)
  • sshd 未启用 PAM 做密码校验
  • SSH 密码登录功能开启
  • 服务器上至少存在一个带有正常密码哈希的用户
  • 目标账户 shadow 密码字段为 *(锁定密码、仅密钥登录账户)

自查步骤

  1. 先确认系统底层 C 库,执行 ldd /usr/bin/sshd,看是否依赖 musl libc
  2. 查看 OpenSSH 编译参数,确认是否为 --without-pam 编译版本
  3. 查看 sshd 配置,确认 PasswordAuthentication 是否设置为 yes
  4. 查看 /etc/shadow,检查有没有密码字段为 * 的账户

修复与缓解操作

  1. 优先升级方案:把 OpenSSH 升级到 10.6p2 及以上安全版本;Alpine 用户直接执行 apk upgrade -U -a,升级完成后重启 sshd 服务
  2. 临时缓解方案(紧急处置):修改 sshd_config,设置 PasswordAuthentication no,关闭密码登录,只保留密钥登录,修改后重启 sshd
  3. 额外防护:防火墙限制 SSH 访问来源,只允许可信内网或者指定 IP 访问 22 端口

补充说明

漏洞评级为高危,CVSS 分数 8.1,目前公开已经有验证代码,虽然初期大规模攻击案例不多,但暴露在公网的 musl 服务器风险很高,升级或者关闭密码登录是最稳妥的办法。

【相关 FAQ】

问题 1:OpenSSH 密码认证绕过漏洞是不是所有 Linux 服务器都会中招?

回答 1:不是,这个 OpenSSH 密码认证绕过漏洞只针对 musl 发行版,glibc 的 Ubuntu、CentOS、Debian 这类常规系统不受影响,同时还需要满足未开启 PAM、开启密码登录等条件。

问题 2:使用 Alpine 系统,没有关闭 SSH 密码登录,该怎么处理 OpenSSH 密码认证绕过漏洞?

回答 2:可以直接升级 OpenSSH 到修复版本,或者临时在 sshd 配置里关闭 PasswordAuthentication,阻断 OpenSSH 密码认证绕过漏洞的利用路径,升级后重启 ssh 服务。

问题 3:OpenSSH 密码认证绕过漏洞的攻击方式是什么,密码需要正确吗?

回答 3:攻击者不需要知道正确密码,利用 OpenSSH 密码认证绕过漏洞,向目标提交 257~1024 字节长度的任意密码,匹配 musl 库返回 的逻辑,实现绕过登录。

问题 4:开启 PAM 之后,还会受到这个 OpenSSH 密码认证绕过漏洞影响吗?

回答 4:开启 PAM 密码校验的环境不会触发这个 OpenSSH 密码认证绕过漏洞,该漏洞只在 sshd 自带密码校验、不走 PAM 的路径下生效。

【参考资料】

[2026-11-06](OpenSSH "sshole" 密码认证绕过漏洞风险通告)腾讯云

[2026-11-06](OpenSSH/musl 密码认证绕过漏洞安全风险通告)安全内参

[2026-11-05](OpenSSH 发布紧急补丁,修复 Alpine Linux 长密码绕过 SSH 认证漏洞)FreeBuf

[2026-11-05](Security advisory: openssh-server password authentication bypass)Alpine Linux 官网

【免责声明】

本文内容仅为安全信息科普,所有修复操作前请自行做好业务备份;漏洞利用相关技术仅用于企业内部合规自查,严禁未经授权对任何服务器进行测试攻击,由此引发的一切法律与安全责任由操作人自行承担。信息仅供参考,不构成任何安全决策的唯一依据。

本文来自作者[杏岭蜜柿]投稿,不代表诚邦网立场,如若转载,请注明出处:https://www.cbpmc.com.cn/qyzx/202611/13.html

赞 (1)

今日大家都在搜的词:

发表回复

本站作者后才能评论

评论列表(4条)

  • 杏岭蜜柿
    杏岭蜜柿 2026年11月09日

    我是诚邦网的签约作者“杏岭蜜柿”!

  • 杏岭蜜柿
    杏岭蜜柿 2026年11月09日

    希望本篇文章《OpenSSH 密码认证绕过漏洞 仅影响 musl 类 Linux 发行版》能对你有所帮助!

  • 杏岭蜜柿
    杏岭蜜柿 2026年11月09日

    本站[诚邦网]内容主要涵盖:互联网行业的追踪与探索

  • 杏岭蜜柿
    杏岭蜜柿 2026年11月09日

    本文概览:这个漏洞代号 sshole,编号 CVE-2026-123158,只有同时满足几个条件才会中招,攻击者只要知道目标用户名,提交一段 257 到 1024 字节之间的任意长密码,就能绕过 SSH 密码校验登录账户,不少 Alpine、OpenWrt 这类系统里的账户一旦被拿下,还能进一步拿到 root 权限。漏洞根源是 musl 库里面的 crypt 函数,密码哈希计算失败的时候返回的是星号,而不是标准要求的 NULL;OpenSSH 在没有开启 PAM 认证的模式下,系统 shadow 文件里标记禁止密码登录的账户本身密码字段就是,当超长密码触发 crypt 返回 ,两边比对一致,认证就直接放行。glibc 系统、开启 PAM 校验的机器不受这个漏洞影响。

联系我们

联系:143 0457 151

工作时间:周一至周五,9:30-18:30,节假日休息

关注我们