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