16日libssh官方发布安全公告,由NCC安全组的Peter Winter-Smith披露了一个SSH2登陆身份验证绕过漏洞(CVE-2018-10933)。攻击者利用漏洞可以在没有任何凭据的情况下成功进行身份验证,登陆SSH。 ![]() 漏洞描述libssh版本0.6及更高版本在服务端代码中存在身份验证绕过漏洞。通过向服务端发送SSH2_MSG_USERAUTH_SUCCESS消息来替换服务端期望启动身份验证的SSH2_MSG_USERAUTH_REQUEST消息,攻击者可以在没有任何认证凭据的情况,扩过SSH身份验证,完成SSH登陆,入侵服务器。截止目前还没有相关漏洞PVC披露。 libssh项目在客户端和服务器实现通讯过程,当新连接完成握手过程时,有不同的回调来处理数据包类型。SSH协议定义了在处理身份验证请求时要发送的多个响应。其中一条消息是USERAUTH_SUCCESS,服务器发送该消息以通知客户端认证成功,并且所请求的服务已准备就绪。相关代码: ![]() 问题就出在这里, Libssh没有一种机制来确定是否允许传入数据包来确定当前的链接状态。攻击者可以启动连接,服务器将发送身份验证查询,攻击者将使用USERAUTH_SUCCESS响应进行回复。问题是此响应仅由能有服务器而不是客户端发送,并且只能在身份验证完成之后才发送。由于共享代码,服务器错误地跳转到该消息类型的处理程序,并标记完成的身份验证阶段。此时,守护进程设置SSH连接状态就像客户端已经过身份验证一样,攻击者成功获得了权限。 这个漏洞是由NCC集团的Peter Winter-Smith发现的,他私下向libssh透露了这个问题。今天提供了更新的libssh版本,并且同时发布了问题的详细信息。如果您安装了libssh,特别是如果你正在使用服务器组件,请安装此重要更新。这是一个很低级的安全漏洞,但幸好libssh并没有被广泛用于SSH服务器上,更常被用作SSH客户端。 影响范围libssh0.6及以上的版本,使用该库的各种软件。Redhat官方安全中心已经将该漏洞评定为危险漏洞(9.1) Red Hat Enterprise Linux 7 和对应的Centos 7会受影响,Centos 6暂不受影响。 目前平台广泛使用的OpenSSH,不依赖libssh库,所以不受该漏洞影响。 风险评级CVE-2018-10933:严重 安全建议目前该漏洞补丁已经由redhat和libssh组的Anderson Toshiyuki提供,各大发行版OS补丁估计随后就会发出。 源码安装:下载官方patch文件,重新安装libssh修复漏洞。 防火墙ACL限制禁止SSH对外,只针对特定允许的ip开放访问权限,可通过iptables配置, iptables -I INPUT -s (具体IP) -p tcp -m state --state NEW -dport 22 -j ACCEPT iptables -A INPUT -p tcp -dport 22 -j REJECT --reject-with icmp-host-prohibited |
| 本文出处: https://www.toutiao.com/a6613256192804258312/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|