漏洞并没有那么糟糕,因为大多数服务器使用openssh库来支持服务器端SSH登录。libssh中的一个漏洞是一个支持SecureShell(SSH)身份验证协议的流行库,它使成千上万(如果不是更多)企业服务器受到攻击。该漏洞允许攻击者绕过身份验证过程并在启用SSH连接的情况下访问服务器,而无需输入密码。
攻击者可以通过发送SSH服务器“SSH2_MSG_USERAUTH_SUCCESS”消息而不是服务器通常期望的“SSH2_MSG_USERAUTH_REQUEST”消息以及哪个libssh用作身份验证过程需要启动的信号来执行此操作。由于编码错误,当libssh收到“SSH2_MSG_USERAUTH_SUCCESS”消息时,它会将此解释为“已经进行了身份验证”,并将授予攻击者访问本地服务器的权限。
该漏洞被追踪为CVE-2018-10933,是在2014年1月发布的libssh0.6.0中引入的.libssh团队昨天发布了0.8.4和0.7.6版本来解决这个漏洞。该错误是由NCC集团的PeterWinter-Smith发现的。根据Cybereason安全研究主管AmitSerper的说法,该库基于使用Shodan搜索引擎进行的粗略搜索,影响至少3,000台服务器。
该漏洞与编码方面的漏洞一样糟糕,但它对实际计算的影响并没有那么糟糕。原因是大多数服务器,物联网设备和个人计算机更喜欢通过openssh库而不是libssh实现SSH支持。
支持libssh的最大站点之一是GitHub,但该站点的安全团队已经站出来说他们没有受到影响。GitHub使用libssh为企业客户提供备用SSH登录方法。如果GitHub的基于libssh的登录方法容易受到攻击,那么攻击者就可以访问世界上最大的公司的源代码和知识产权。
“我们使用自定义版本的libssh;不依赖于libssh服务器的SSH2_MSG_USERAUTH_SUCCESS用于基于pubkey的auth,这就是我们使用库的方法。补丁已经大量谨慎应用了,但是[GitHubEnterprise]从来没有易受CVE-2018-10933影响,“该公司在Twitter上表示。