【漏洞预警】OpenSSH 在 musl 环境下密码认证绕过漏洞(CVE-2026-123158)
华顺信安威胁情报中心
2026年11月6日 11:22
湖南
去阅读
*▌漏洞描述*
OpenSSH 是 OpenBSD 项目维护的 SSH 远程登录与加密传输组件,承载服务器远程运维、文件传输与自动化登录;musl libc 是面向容器与嵌入式场景的轻量 C 标准库,被 Alpine Linux、OpenWrt、Buildroot、Yocto 及大量容器基础镜像采用。
近日,OpenSSH 发布 10.6p2 安全版本,修复密码认证绕过漏洞(CVE-2026-123158,CVSS 3.1 高危 8.1 分,CWE-394)。在 Linux 上以 musl libc 构建且未启用 PAM 的 sshd,认证时会把提交的密码交给 crypt() 哈希后与 shadow 中的密码字段比较;目标账户的密码字段过短、无法提供盐值时,sshd 会借用其他账户的盐值,而 musl 的 crypt() 对超过 256 字节的密钥直接返回 *,与无密码账户的密码字段 * 完全相同,比较判等即通过认证。
攻击者只需一个连接、提交 257 至 1024 字节的密码,即可登录仅配置密钥登录或未设置密码的账户;该账户若具备免密 sudo/doas 权限,或本身是允许登录的 root,攻击者可直接取得主机最高权限。Alpine 官方同步发布修复包。
| 受影响产品 | 受影响版本 | 修复版本/补丁状态 |
| OpenSSH(Linux + musl、未启用 PAM 的 sshd) | 10.6p2 之前的版本 | 10.6p2 或更高版本 |
| Alpine Linux(openssh 包) | 3.16 – 3.24 及 edge | 3.24.4、3.23.8、3.22.8、3.21.10 等版本内的修复包 |
| Alpine tiny-cloud 云镜像 | 3.18.11 – 3.24.3 | 3.21.10、3.22.8、3.23.8、3.24.4 及之后的镜像 |
**▌利用条件****
利用条件: sshd 运行于 musl libc 且未启用 PAM(Alpine 默认的 openssh-server 即属此列,openssh-server-pam 配合 UsePAM no 同样受影响),PasswordAuthentication 保持默认的 yes,系统中存在密码字段为 \* 的账户(仅密钥登录的用户、未设置密码的账户、tiny-cloud 镜像内置的 alpine 用户;root 需 PermitRootLogin yes),且至少有一个账户持有 $5$ 或 $6$ 哈希。
大致利用链路: 向 sshd 提交 257 至 1024 字节的密码 → 目标账户密码字段过短,sshd 借用其他账户的盐值 → musl crypt() 因密钥超长返回 \ → 与 shadow 中的 \ 比较相等,认证通过 → 获得该账户的登录会话 → 借免密 sudo/doas 或以 root 身份提权。
**▌威胁状态分析****
受影响环境集中在容器与云镜像侧:Alpine 是主流容器基础镜像之一,其官方 tiny-cloud 云镜像 3.18.11 至 3.24.3 内置密码字段为 \"\*\" 且可免密 doas 的 alpine 用户,一经部署即满足前置条件;管理员在控制台设置过密码或通过 user-data 注入密码哈希后,攻击者即可用一个连接取得 shell 并借 doas 提权至 root。该漏洞相关PoC 已公开,建议优先处置修复。
通过 FOFA 测绘可以看到,截至当前,全球暴露在公网的 OpenSSH 相关资产约为 188,011,272 条,共涉及 61,922,956 个独立 IP。
**▌排查和修复建议****
- 盘点使用 musl 的 sshd:Alpine、OpenWrt、Buildroot、Yocto 设备与 musl 容器基础镜像,执行 sshd -T 确认 passwordauthentication 与 usepam 的实际取值。
- 升级至 OpenSSH 10.6p2 或更高版本;Alpine 执行 apk upgrade -U -a 后必须执行 rc-service sshd restart,仅升级软件包不会替换正在运行的 sshd 进程。
- 无法立即升级时,将 PasswordAuthentication 设为 no 并重启 sshd,同时把 PermitRootLogin 设为 prohibit-password 或 no。
- 排查 /var/log/messages 中本应无密码的账户是否出现 Accepted password for 记录,并核查 sudo/doas 使用、近期新增用户与 authorized\_keys 变更。
- 不要将 shadow 中的 \"\*\" 直接改为 \"!\":在未启用 PAM 的 musl 系统上,这样会让该账户的密钥登录一并失效,应通过升级或关闭密码认证解决。
**▌产品支持情况****
华顺信安安全产线产品已支持 OpenSSH 相关产品组件暴露面风险资产规则识别,可用于辅助完成资产定位与修复排查。
**▌参考****
- https://www.openssh.org/releasenotes.html#10.6p2
- https://nvd.nist.gov/vuln/detail/CVE-2026-123158
- https://alpinelinux.org/posts/2026-11-05-openssh-password-authentication-bypass/
- https://github.com/openssh/openssh-portable/commit/4353fdc43ef646c43a8dda7025cc1a898caf1482
- https://alpinelinux.org/posts/alpine-3.21.10-3.22.8-3.23.8-3.24.4-released/
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论