HackerNews 编译,转载请注明出处:
数据安全公司 Cyera 表示,过去 15 年发布的 OpenSSH 版本存在一个漏洞,该漏洞可导致攻击者获取完全的 root shell 访问权限,且基于日志的检测方式无法发现此类攻击。
该漏洞编号为 CVE – 2026 – 35414,严重程度评分(CVSS)为 8.1。在某些涉及使用逗号字符的证书颁发机构(CA)的场景中,此漏洞表现为对 authorized_keys principals 选项的处理不当。
据 Cyera 称,由于这个漏洞,SSH 证书主体名称中的逗号会导致 OpenSSH 访问控制被绕过。只要用户拥有受信任 CA 颁发的有效证书,就可以在存在漏洞的服务器上以 root 身份进行身份验证。
Cyera 向 SecurityWeek 表示:“该漏洞源于代码复用错误,意外地使解析器将证书主体中的一个普通逗号解释为列表分隔符,从而将低权限身份转变为 root 凭证。”
它还补充道:“服务器会认为这种身份验证是合法的,这意味着此类攻击不会在日志中记录身份验证失败,使得基于日志的检测极不可靠。”
这家网络安全公司解释称,CVE – 2026 – 35414 涉及 principals 列表(包含证书持有者可用于身份验证的用户名)以及 authorized_keys principals(包含服务器用于信任证书的密钥)。
问题在于,一个处理密码和密钥交换列表协商的函数,在密钥交换期间会比较以逗号分隔的密码列表,并按逗号进行拆分。如果其中任何一个片段与主体的值匹配,就会允许身份验证。
由于该漏洞,如果一个证书包含主体 “deploy,root”,OpenSSH 会拆分逗号并授予完全的 root 访问权限。
另一个同样用于检查授权的函数会将相同的主体视为单个字符串并拒绝访问。然而,如果字符串匹配,接下来运行的选项会导致完全跳过主体验证。
Cyera 称:“我们编写了一个在主体字段中带有普通逗号的测试证书,并将其指向测试服务器,然后就获取了 root 权限。从发现‘看起来不对劲’到成功利用该漏洞,整个过程大约花了 20 分钟。”
该公司表示,如果组织内的服务器运行了存在漏洞的协议,成功利用此漏洞可能使攻击者获得对所有这些服务器的 root 访问权限。
CVE – 2026 – 35414 已于 4 月初在 OpenSSH 10.3 版本中得到修复。建议各组织对自身环境进行审计,并尽快更新到已修复版本。























