6月7日訊 英國軟件公司 Snyk 的安全團隊2018年 6月5日公開披露影響處理壓縮文件的開源編碼庫的嚴重漏洞“Zip Slip(“壓縮失誤”)”,它是一種影響廣泛的存檔文件提取漏洞,允許攻擊者在系統上編寫任意文件,可引發遠程命令執行問題。Snyk 已發布技術白皮書詳細介紹了該漏洞。
影響重要企業數千個項目
Snyk 的首席執行官蓋·伯德扎尼,安全研究人員早在過去就曾注意到這個漏洞,但從未預料到它會得到如此廣泛的傳播。
可導致文件被解壓到錯誤的位置
Zip Slip 屬于任意文件覆蓋漏洞,通過目錄遍歷攻擊被觸發,可從存檔文件中提取文件,可導致攻擊者將文件解壓到正常的解壓路徑中并覆寫敏感文件,例如重要的OS庫或者服務器配置文件。該漏洞影響了大量壓縮格式,包括 tar、jar、war、cpio、apk、rar和7z。
雖然該漏洞廣泛存在于 JavaScript、Ruby、.NET、Go 等多種程序語言中,其影響了包括谷歌、甲骨文、IBM、Apache、亞馬遜、Spring/Pivotal、Linkedin、Twitter、阿里巴巴、Eclipse、OWASP、ElasticSearch 和 JetBrains 在內的數千個項目,但該漏洞主要影響的是 Java 生態系統,因為其缺乏中心程序庫對存檔文件進行高級處理,導致開發人員必須自己編寫代碼或使用共享代碼。
關于“Zip Slip”漏洞
Snyk 在技術白皮書中寫道,攻擊者可使用特制、含有目錄遍歷文件名(例如../../evil.sh)的存檔文件來觸發該漏洞。攻擊者要利用該漏洞需具備兩個前提條件:1、惡意存檔文件;2、提取代碼不執行驗證檢查。
研究人員指出,選用合適的工具創建惡意存檔文件很容易,而且存在缺陷的庫/代碼片段相當多,因此該漏洞很容易被利用發起攻擊。
伯德扎尼認為漏洞之所以存在,又兩個原因:
程序代碼本身很復雜,不具備安全專家知識的開發人員通常將工作重點放在按時完成代碼編寫上,因此安全漏洞的問題容易被忽略。
在不斷擴展的開源世界中,開發人員嚴重依賴共享的庫,并復制 StackOverflow 等社交網絡的代碼。這種重用的做法有助于加速開發,但也意味著共享代碼庫(或其它)中的漏洞傳播速度更快,Zip Slip 就是如此。
研究人員也公布了PoC代碼,便于開發人員檢測漏洞是否存在。Snyk 還發布了利用該漏洞的視頻演示:
漏洞修復可能不徹底
伯德扎尼表示,許多大型的庫和項目現已修復問題,但這不意味著所有人都將使用最新版的庫。
Snyk 安全團隊提供了建議措施,以供檢查項目是否受到 Zip Slip 漏洞影響,包括在項目中搜索易受攻擊的代碼。Snyk 還舉例羅列了不同程序語言中易受攻擊的代碼以及可供檢查的驗證代碼。
Snyk 未提及攻擊者利用該漏洞的情況。伯德扎尼指出,由于利用的結果只是簡單體現在系統的文件中,因此難以檢測系統是否已被利用。檢測工具可檢查 Zip 和通過其它來源進入網絡的其它存檔文件來識別攻擊,檢查其中列出的文件,并標記指向外部文件夾的文件(例如../../evil.exe)。值得注意的是,存檔文件可上傳到應用程序或從內部下載,因此應當監控這兩種流量來源。
-
編碼
+關注
關注
6文章
946瀏覽量
54871 -
漏洞
+關注
關注
0文章
204瀏覽量
15396
原文標題:Zip Slip 漏洞席卷數千個采用“壓縮文件開源編碼庫”項目
文章出處:【微信號:EAQapp,微信公眾號:E安全】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論