18字節的ImageMagick黑客可能泄露了雅虎郵件服務器的圖像
ImageMagick是一個開源的圖像處理庫,允許用戶調整大小、縮放、裁剪、水印和調整圖像。該工具由PHP、Python、Ruby、Perl、C++和許多其他編程語言支持。
去年,這個廣受歡迎的圖像處理庫發現了當時被稱為“零日”的漏洞,成為頭條新聞影像片,允許黑客通過上傳惡意制作的圖像在Web服務器上執行惡意代碼。
現在,就在上周,安全研究員克里斯·埃文斯向公眾展示了一個18字節的漏洞,該漏洞可用于導致雅虎服務器泄露其他用戶的私有雅虎!郵件圖片附件。
“Yahoobleed”漏洞從服務器內存泄漏圖像

該漏洞濫用ImageMagick庫中的一個安全漏洞,Evans稱之為該死#1“(YB1),因為該漏洞導致服務泄漏存儲在服務器內存中的內容。
該漏洞實際上存在于模糊的RLE(猶他州光柵工具包運行長度編碼)圖像格式中。
要利用該漏洞,攻擊者只需創建一個惡意構建的RLE圖像,并將其發送到受害者的電子郵件地址,然后創建一個空的RLE協議命令循環,提示信息泄漏。
為了展示如何破壞雅虎的電子郵件帳戶,埃文斯創建了一個包含18字節攻擊代碼的惡意圖像,并將其作為電子郵件附件發送給自己,作為概念驗證(PoC)演示。
附件到達雅虎的電子郵件服務器后,ImageMagick處理了該圖像以生成縮略圖和預覽,但由于執行了Evans的攻擊代碼,該庫為該圖像附件生成了一個損壞的圖像預覽。
單擊此圖像附件后,它會啟動圖像預覽窗格,使服務顯示仍存在于服務器內存中的部分圖像,而不是原始圖像
埃文斯說:“提供給我的瀏覽器的最終JPEG圖像是基于未初始化或之前釋放的內存內容”。
不像心碎和云出血埃文斯說,這是由于服務器端內存內容泄露造成的該死使用未初始化或以前釋放的內存內容。
埃文斯說:“以前的出血漏洞通常是越界讀取,但這次是使用未初始化的內存”。“未初始化的圖像解碼緩沖區用作將圖像渲染回客戶端的基礎”。
“這會泄漏服務器端內存。與越界讀取相比,這種類型的漏洞相當隱蔽,因為服務器永遠不會崩潰。但是,泄漏的機密將限于釋放的堆塊中存在的機密”。
雅虎關閉“Buggy”ImageMagick庫
在埃文斯向雅虎提交了他18字節的漏洞代碼后,雅虎決定完全停用ImageMagick庫,而不是解決這個問題。
埃文斯還警告了另一個版本的Yahoobleed,名為胡說八道,這是因為雅虎未能安裝2015年1月發布的關鍵補丁。他說,這些缺陷結合起來可能會讓攻擊者獲得瀏覽器cookie、身份驗證令牌和屬于雅虎郵件用戶的私人圖像。
這家科技巨頭向埃文斯支付了1.4萬美元的臭蟲賞金,即每字節778美元的漏洞代碼賞金。在得知埃文斯打算將賞金捐給慈善機構后,埃文斯決定將賞金翻倍至2.8萬美元。
在雅虎意識到該問題后,埃文斯向ImageMagick團隊報告了該漏洞,該團隊在兩個月前發布了ImageMagick 7.0.5-1版本,并對該問題進行了修復。
因此,使用ImageMagick庫的其他廣泛使用的Web服務可能仍然容易受到該漏洞的攻擊,建議盡快應用補丁。