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