CVE-2026-24058CVE-2026-24058是Soft Serve Git服务器中的一个严重认证绕过漏洞,CVSS评分高达9.8分。Soft Serve是一个自托管的Git服务器,专为命令行设计。该漏洞影响0.11.2及以下版本,允许未经认证的攻击者在SSH握手过程中通过"提供"受害者的公钥来冒充任意用户,包括管理员账户。攻击者利用了用户身份在会话上下文中存储时机过早的缺陷,在认证失败后未正确清除已存储的用户身份,从而实现权限提升。此漏洞无需任何用户交互,攻击者可从网络远程发起,对系统的机密性、完整性和可用性均造成严重影响。
该漏洞的根本原因在于Soft Serve的SSH认证流程存在逻辑缺陷。在SSH连接的"offer"阶段,服务器会接收客户端提供的公钥并将其与用户身份关联存储在会话上下文中。问题在于,当特定的认证尝试失败后,系统并未清除这个已存储的用户身份信息。攻击者可以首先在握手阶段提供目标受害者(可能是管理员)的公钥,服务器会将此公钥与受害用户关联。随后攻击者使用自己的有效私钥完成认证,由于会话中已存在受害者身份信息,系统错误地将攻击者识别为受害用户,从而赋予其相应的权限。这种攻击方式利用了SSH协议的多因素认证机制中的时序漏洞,在不实际拥有受害者私钥的情况下实现身份冒充。