時間:2018-06-07
網(wǎng)絡(luò)安全公司Synk Ltd.的研究人員近日發(fā)現(xiàn)了一個新的安全漏洞,該漏洞影響數(shù)千個項目,包括借助商業(yè)界一些超大公司使用的多種編程語言而設(shè)計的項目。
這個漏洞名為“Zip Slip,這是一種任意覆蓋文件的漏洞,也就是說能夠覆蓋現(xiàn)有文件。它是由目錄遍歷攻擊觸發(fā)的,這種HTTP攻擊讓攻擊者從歸檔文件(archive)解壓縮文件的同時,還可以訪問受限制的目錄。
顧名思義,這個安全漏洞不僅與著名的ZIP格式等歸檔格式有關(guān),還與其他一些格式有關(guān),包括tar、jar、war、cpio、apk、rar和7z。據(jù)研究人員聲稱,這個漏洞可能會導致這種情形:攻擊者可以解壓縮平常解壓縮路徑之外的文件,覆蓋敏感文件,比如關(guān)鍵的操作系統(tǒng)庫或服務(wù)器配置文件。
Synk團隊今天在安全公告中表示:“鉆這個漏洞的空子需要兩個部分,一個是惡意歸檔文件,另一個不執(zhí)行驗證檢查的解壓縮碼。”
可能被覆蓋的文件包括用JavaScript、Python、Ruby、.NET、Go和Groovy等編程語言編寫的文件,但這個問題在Java生態(tài)系統(tǒng)中來得尤為嚴重,原因是沒有推薦用于處理歸檔文件的官方庫。相反,開發(fā)人員構(gòu)建并使用了各種各樣的庫來滿足這個用途,其中大多數(shù)庫易受Zip Slip的影響。此外,這個問題影響的范圍極為廣泛,現(xiàn)已發(fā)現(xiàn)連StackOverflow上共享的一些代碼都易受Zip Slip的攻擊,這就意味著用Java編寫的許多桌面、移動或Web應用程序易受Zip Slip的攻擊,而開發(fā)人員蒙在鼓里。
這個漏洞影響了數(shù)千個項目,包括來自惠普企業(yè)(HPE)、亞馬遜網(wǎng)站、Apache開源項目、Pivotal Software Inc.以及另外眾多大公司的項目。
研究人員解釋:“目錄遍歷漏洞的前提是,除了本該訪問的目標文件夾外,攻擊者還可以訪問文件系統(tǒng)中不該訪問的部分。然后,攻擊者可以覆蓋可執(zhí)行文件,遠程調(diào)用文件,或者等待系統(tǒng)或用戶調(diào)用文件,從而在受害者的機器上實現(xiàn)遠程執(zhí)行命令。該漏洞還可以覆蓋配置文件或其他敏感資源,因而造成破壞,在客戶端(用戶)機器和服務(wù)器上都可以被利用。”
研究人員表示,他們在4月份就發(fā)現(xiàn)了這個漏洞,此后一直與易受這種攻擊影響的幾個開源庫的維護人員密切合作。
除了發(fā)布解釋該安全漏洞的技術(shù)白皮書外,研究人員還發(fā)布了使用該方法的概念證明攻擊的詳細內(nèi)容。
Synk公司的丹尼•格蘭德(Danny Grander)在一篇博文(https://snyk.io/blog/zip-slip-vulnerability/)中寫道:“鑒于Zip Slip安全漏洞的嚴重性和廣泛性,我強烈建議大家花一點時間,確保自己沒有因別人的代碼庫或你自己的代碼而容易受到攻擊。”該博文還介紹了概念證明攻擊的詳細內(nèi)容。
受影響的庫
供應商 |
產(chǎn)品 |
語言 |
已證實易受攻擊 |
修復版本 |
CVE |
修復時間 |
npm library |
unzipper |
JavaScript |
YES |
0.8.13 |
CVE-2018-1002203 |
17/4/2018 |
npm library |
adm-zip |
JavaScript |
YES |
0.4.9 |
CVE-2018-1002204 |
23/4/2018 |
Java library |
codehaus/plexus-archiver |
Java |
YES |
3.6.0 |
CVE-2018-1002200 |
6/5/2018 |
Java library |
zeroturnaround/zt-zip |
Java |
YES |
1.13 |
CVE-2018-1002201 |
26/4/2018 |
Java library |
zip4j |
Java |
YES |
CVE-2018-1002202 |
||
.NET library |
DotNetZip.Semverd |
.NET |
YES |
1.11.0 |
CVE-2018-1002205 |
7/5/2018 |
.NET library |
SharpCompress |
.NET |
YES |
0.21.0 |
CVE-2018-1002206 |
2/5/2018 |
.NET library |
mholt/archiver |
Go |
YES |
e4ef56d4 |
CVE-2018-1002207 |
17/4/2018 |
Oracle |
java.util.zip |
Java |
* No High Level API |
Documentation Fix |
N/A |
|
Apache |
commons-compress |
Java |
* No High Level API |
Documentation Fix |
N/A |
23/4/2018 |
.NET library |
SharpZipLib |
.NET |
* No High Level API |
N/A |
||
Ruby gem |
zip-ruby |
Ruby |
* No High Level API |
N/A |
||
Ruby gem |
rubyzip |
Ruby |
* No High Level API |
N/A |
||
Ruby gem |
zipruby |
Ruby |
* No High Level API |
N/A |
||
Go library |
archive |
Go |
* No High Level API |
N/A |
受影響并已修復的項目
供應商 |
產(chǎn)品 |
修復日期 |
修復版本 |
CVE |
高危代碼 |
Apache Storm |
Storm |
2/5/2018 |
1.0.7 |
CVE-2018-8008 |
#1 #2 #3 #4 |
Apache Hadoop |
Hadoop |
23/5/2018 |
CVE-2018-8009 |
||
Apache Hive |
Hive |
CVE-2018-8009 |
|||
Apache |
Maven |
||||
Apache |
Ant |
21/4/2018 |
1.9.12 |
||
Pivotal |
spring-integration-zip |
3/5/2018 |
1.0.1 |
CVE-2018-1261 |
|
Pivotal |
spring-integration-zip |
10/5/2018 |
1.0.2 |
CVE-2018-1263 |
|
HP |
Fortify Cloud Scan Jenkins Plugin |
27/4/2018 |
#1 |
||
OWASP |
DependencyCheck |
7/5/2018 |
|||
Amazon |
AWS Toolkit for Eclipse |
31/5/2018 |
|||
SonarCube |
SonarCube |
4/5/2018 |
#1 |
||
Cinchapi |
Concourse |
30/5/2018 |
#1 |
||
Orient Technologies |
OrientDB |
31/5/2018 |
#1 #2 |
||
FenixEdu |
Academic |
30/5/2018 |
#1 |
||
Lucee |
Lucee |
5/6/2018 |
5.2.7, 5.2.8.47 |
#1 |
已修復,但據(jù)認為無法被人鉆空子
供應商 |
產(chǎn)品 |
高危代碼清除日期 |
高危代碼 |
Apache |
Kylin |
24/4/2018 |
#1 |
Apache |
NiFi |
24/4/2018 |
#1 |
Apache |
Geode |
20/4/2018 |
|
Jenkins |
Jenkins CI |
5/5/2018 |
#1 |
Elastic |
ElasticSearch |
10/5/2018 |
#1 |
|
Pinot |
22/5/2018 |
#1 |
AnkiDroid |
Anki-Droid |
31/5/2018 |
#1 |
ata4 |
bspsrc |
30/5/2018 |
#1 |
eirslett |
frontend-maven-plugin |
30/5/2018 |
#1 #2 |
維護人員認為無法被人鉆空子(但仍采用易受攻擊的實現(xiàn)方法)
供應商 |
產(chǎn)品 |
高危代碼 |
JetBrains |
Intellij-community |
#1 |
Apache |
Apex |
#1 |
Apache |
Zeppelin |
#1 |
Apache |
Reef |
#1 |
Apache |
BookKeeper |
#1 |
Apache |
Pulsar |
#1 |
Apache |
Heron |
#1 |
Apache |
Gobblin |
#1 |
Apache |
Gobblin |
#1 |
Apache |
SystemML |
#1 |
Gradle |
Gradle |
#1 |
Gradle |
Gradle |
#1 |
Gradle |
Gradle |
#1 |
plasma-umass |
doppio |
#1 |
streamsets |
DataCollector |
#1 |
Copyright © 2017-2024 河南中瀚安全技術(shù)有限公司 版權(quán)所有 豫ICP備18011434號-1 豫公網(wǎng)安備 41019702002746號