
OpenSSH 漏洞绕过密码验证,可登录已禁用密码的 Linux 账户
来源标题:OpenSSH flaw lets attackers log into password-disabled Linux accounts
安全研究员 Ozgun Kultekin 披露 OpenSSH 与 musl 库相关漏洞「*sshole」,攻击者输入超长密码即可登录 Alpine Linux 等 musl 系统上被配置为禁止密码认证的账户。该漏洞可追溯至 2016 年修复 CVE-2016-6210 时引入的改动,影响 Alpine Linux、OpenWrt、Buildroot 和 Yocto。官方尚未发布修复。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
新披露的OpenSSH与musl相关漏洞被命名为“*sshole”,攻击者只需输入一个超长密码,就能登录某些Alpine Linux及其他基于musl的Linux账户——这些账户原本已被配置为禁止密码认证。
该漏洞仅影响运行在使用musl C库的Linux发行版上的OpenSSH服务器,包括Alpine Linux、OpenWrt、Buildroot和Yocto,且需处于特定认证配置下。
安全研究员Ozgun Kultekin今日发现并公布了该漏洞详情。他表示,该漏洞自2016年起就已存在,根源在于OpenSSH在使用musl C库的系统上处理密码验证错误的方式。
Linux账户可以通过在/etc/shadow文件中将密码哈希替换为星号(*)来禁止密码登录。由于这不是有效的密码哈希,任何密码都不应允许访问这些账户。
然而,OpenSSH在2016年引入的一个补丁——用于修复编号为CVE-2016-6210的用户名枚举漏洞——改变了OpenSSH处理没有可用密码哈希的账户的方式。
为防止攻击者通过不同的响应时间识别有效用户名,OpenSSH被修改为即使账户没有可用密码哈希也执行密码哈希运算,包括那些用*配置以阻止密码登录的账户。
问题在于,musl C库的crypt()函数在密码哈希失败时也会返回*,包括提交的密码超过其256字节限制的情况。
这意味着攻击者可以提交一个超长密码,使OpenSSH将返回的与账户中存储的进行比较,从而成功登录。
需要明确的是,该漏洞不允许攻击者绕过具有有效密码哈希的账户的密码。
Kultekin表示,利用该漏洞需要以下条件:
研究人员警告称,Alpine Linux官方的AWS和Azure云镜像默认包含一个受影响的“alpine”账户,该账户具有无需密码的“doas”权限,可能允许攻击者获取root访问权限。
使用glibc的系统(包括Debian、Ubuntu和Fedora)以及使用PAM认证的系统不受此攻击影响。
Kultekin表示,他使用AI代理发现了该漏洞,这些代理针对不同的OpenSSH配置、畸形密码哈希和超长密码运行了约17,600次认证测试。
该漏洞已在OpenSSH 10.6p2中修复,建议Alpine Linux管理员使用apk upgrade openssh更新其OpenSSH软件包。
无法立即安装更新的管理员可以通过在SSH服务器配置中设置PasswordAuthentication no关闭SSH密码认证并重启SSH来缓解该问题。
Kultekin表示,管理员还可以通过检查SSH认证日志中那些本不应允许密码登录的账户是否存在基于密码的登录,来排查是否已被利用。
在Alpine Linux上,以下命令可以显示成功的SSH密码登录: grep "Accepted password" /var/log/messages
如果日志显示alpine账户成功进行了密码登录,管理员可以检查该账户是否已禁用密码认证: grep '^alpine:' /etc/shadow
如果该账户的密码字段包含*,但SSH日志显示密码登录成功,则可能表明该漏洞已被利用。
Adaptive Security的AI代理分析电子邮件意图、上下文和行为,以发现钓鱼、商业电子邮件入侵和发票欺诈。通过为期14天的Microsoft 365或Google Workspace只读扫描,了解哪些威胁正在穿透防线,无需更改MX记录。
Alpine Linux在遭受RCE攻击尝试后重建GitLab 严重Linux内核漏洞允许对MPTCP服务器发起远程root攻击 CISA警告三个Linux内核漏洞正被积极利用 黑客利用木马化的CWP Web服务器在Linux服务器中植入后门 GhostMap Android漏洞允许恶意应用触发持久启动循环
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。