OpenSSH与musl交互漏洞可绕过密码验证

OpenSSH与musl交互漏洞可绕过密码验证。攻击者输入超256字符即可入侵Alpine等系统,根源在于crypt函数异常返回星号。建议立即更新补丁或禁用密码认证以规避风险。

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

输入超256字符可绕过验证

该漏洞影响范围包括 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",并重启服务以规避风险。

评论 0

0/500

评论需审核后展示,请文明发言

💬
还没有评论,来说两句

相关阅读