LibSSH漏洞允许黑客在没有密码的情况下接管服务器

在安全外壳(SSH)实现库(称为利布希这可以让任何人完全绕过身份验证,在不需要密码的情况下对易受攻击的服务器进行不受限制的管理控制。
安全漏洞,跟踪如下:CVE-2018-10933是2014年初发布的Libssh版本0.6中引入的一个绕过身份验证的问题,在过去四年中,数千台企业服务器对黑客开放。
但在你害怕之前,你应该知道,无论是广泛使用的OpenSSH还是Github的libssh实现都没有受到该漏洞的影响。
该漏洞是由于Libssh中的编码错误造成的,利用该漏洞“极其简单”。根据周二发布的一条安全建议,攻击者所需要做的就是向服务器发送一条“SSH2_MSG_USERAUTH_SUCCESS”消息,并在服务器需要“SSH2_MSG_USERAUTH_REQUEST”消息时启用SSH连接。
由于libssh中存在逻辑缺陷,库无法验证传入的“成功登录”数据包是否由服务器或客户端发送,也无法检查身份验证过程是否已完成。
因此,如果远程攻击者(客户端)向libssh发送此“SSH2_MSG_USERAUTH_SUCCESS”响应,则它认为身份验证已成功,并将授予攻击者访问服务器的权限,而无需输入密码。
尽管GitHub使用libssh,但它确认其官方网站和GitHub Enterprise不会因GitHub使用库的方式而受到该漏洞的影响。
一名GitHub安全官员在Twitter上表示:“我们使用自定义版本的libssh;基于公钥的身份验证不依赖于SSH2_MSG_USERAUTH_与libssh服务器的成功,而这正是我们使用该库的目的”。
“应用补丁是出于谨慎,但GHE[GitHub Enterprise]从未受到CVE-2018-10933的攻击”。
Shodan search显示,大约6500台面向互联网的服务器可能会因使用Libssh而受到影响。
NCC集团的彼得·温特·史密斯(Peter Winter Smith)发现了这个安全漏洞,他负责地向Libsh透露了这个问题。
Libssh团队在周二发布了更新的Libssh版本0.8.4和0.7.6,解决了这个问题,同时发布了该漏洞的详细信息。
如果您的网站上安装了Libssh,并且主要是在使用服务器组件时,强烈建议您尽快安装Libssh的更新版本。