OpenSSH 与 musl-libc 之间的交互漏洞导致严重安全风险:在特定配置下,攻击者只需在密码提示符中输入超过 256 个字符,即可绕过身份验证进入 Alpine Linux、OpenWRT 及其他基于 musl 的 Linux 发行版。

该漏洞影响范围包括 Buildroot、Yocto 和 Void Linux。虽然 OpenWRT 默认使用 Dropbear 进行身份验证,但若用户手动安装并启用 OpenSSH,同样面临风险。鉴于 Alpine Linux 在许多场景中作为默认选择,其受影响程度尤为显著,需立即进行修补。
触发此漏洞需要同时满足以下条件:系统使用 OpenSSH 和 musl libc;未明确禁用密码认证;未使用 PAM(Pluggable Authentication Modules);且任意用户账户设置了使用 SHA-512/256 哈希的密码。
技术层面而言,问题根源在于 musl 库中的 crypt() 函数处理异常的方式。当输入超长字符串时,musl 返回星号 "*" 而非标准的空值 null。OpenSSH 随后将此返回值用于密码哈希比较,从而引发错误的连锁反应,导致未经授权的访问成功。
尽管绝大多数此类安装并未直接暴露于公网,但局域网内的攻击者——涵盖企业环境、家庭实验室、云网络及 VPN 接入点——均可利用此漏洞获取有效用户账户权限。扫描和测试该漏洞的技术门槛极低。
目前,OpenSSH 已发布修复补丁及相关安全咨询公告。项目建议管理员立即对系统进行更新,或在 OpenSSH 配置文件(sshd_config)中将 "PasswordAuthentication" 显式设置为 "no",并重启服务以规避风险。





