scp 客户端多个缝隙安全公告

颁布功夫 2019-01-16

缝隙编号和级别


CVE编号:CVE-2018-20685  危险级别:高危   CVSS分值:厂商自评:7.5,官方未评定

CVE编号:CVE-2019-6111   危险级别:中危   CVSS分值:厂商自评:5.3,官方未评定

CVE编号:CVE-2018-20684  危险级别:中危   CVSS分值:厂商自评:5.3,官方未评定

CVE编号:CVE-2019-6109   危险级别:低危   CVSS分值:厂商自评:3.1,官方未评定

CVE编号:CVE-2019-6110   危险级别:低危   CVSS分值:厂商自评:3.1,官方未评定


影响领域


受影响版本:

OpenSSH scp <=7.9

WinSCP scp mode <=5.13


缝隙概述


scp客户端存在多个缝隙,其中CVE-2019-6111、CVE-2018-20684能够追忆到1983年。


OpenSSH是一套用于安全接见远程推算机的衔接工具,或在推算机之间传送文件。WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端,同时支持SCP和谈,它的重要职能就是在本地与远程推算机间安全的复造文件。scp Client是它们中的一个SCP客户端,存在以下缝隙:


CVE-2018-20685 scp客户端不正确的目录名称验证缝隙


scp客户端的scp.c文件存在安全缝隙。远程攻击者可借助.文件名或空文件名,利用该缝隙绕过接见限度。


CVE-2019-6111 scp客户端短缺收到的对象名称验证缝隙


由于scp实现源自1983 rcp,服务器选择哪个文件/目录被发送到客户端。但是,scp客户端只执行粗略验证返回的对象名称(仅阻止目录遍历攻击)。恶意scp服务器能够覆盖scp客户端指标目录中的肆意文件。若是执行递归操作(-r),则服务器同样能够操作子目录。


WinSCP中的一样缝隙称为CVE-2018-20684。


CVE-2019-6109 通过对象名称进行scp客户端糊弄缝隙


由于进度显示中短缺字符编码,因而能够使用对象名称把持客户端输出,例如使用ANSI代码暗藏其他在传输的文件。


CVE-2019-6110 通过stderr进行scp客户端糊弄缝隙


由于接受并显示来自scp服务器的肆意stderr输出,恶意服务器能够把持客户端输出,例如使用ANSI代码暗藏在传输的其他文件。


缝隙验证


暂无POC/EXP。


建复建议


OpenSSH:

1.       若是能够切换成sftp。

2.       目前厂商已颁布升级补丁以建复缝隙,https://sintonen.fi/advisories/scp-name-validat

or.patch.

WinSCP:

升级到WinSCP 5.14或更高版本。


参考链接


https://sintonen.fi/advisories/scp-client-multiple-vulnerabilities.txt

https://github.com/openssh/openssh-portable/commit/6010c0303a422a9c5fa8860c061bf7105eb7f8b2

https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/ssh/scp.c.diff?r1=1.197&r2=1.198&f=h