安全預警:ImageMagick圖象處理軟件存在遠程代碼執行(CVE-2016-3714)
ImageMagick是一款廣泛流行的圖像處理軟件,有無數的網站使用它來進行圖像處理,但在本周二,ImageMagick披露出了一個嚴重的0day漏洞,此漏洞允許攻擊者通過上傳惡意構造的圖像文件,在目標服務器執行任意代碼。 Slack安全工程師Ryan Hube發現了這一0day漏洞。
如果你在網站中使用了ImageMagick去識別,裁剪或者調整用戶上傳的圖像,你必須確認已經使用了這些 緩解措施 ,并且調整你的代碼只接受有效的圖像文件,沙盒ImageMagick也是一個不錯的主意。
在這個安全漏洞公布之后, 這一漏洞的EXP也隨即被發布,并被命名為:ImageTragick。 漏洞的EXP已經通過郵件和論壇廣泛傳播,所以如果你使用了ImageMagick去處理用戶輸入,請立即采取相應的緩解措施。
ImageMagick被許多編程語言所支持,包括Perl,C++,PHP,Python和Ruby等,并被部署在數以百萬計的網站,博客,社交媒體平臺和流行的內容管理系統(CMS),例如WordPress和Drupal。
該漏洞的利用十分簡單,通過上傳一個惡意圖像到目標Web服務器上,攻擊者就可以執行任意代碼,竊取重要信息,用戶帳戶等。
換句話說,只有采用了ImageMagick,且允許用戶上傳圖像的網站,才會受到影響。
ImageMagick團隊已經承認了此漏洞,稱:
最近發布的漏洞報告……包含可能存在的遠程代碼執行。
雖然該團隊還沒有公布任何安全補丁,但它建議網站管理者應該在配置文件中添加幾行代碼去阻止攻擊,至少在某些情況下可以防御。
Web管理員同時被建議在文件發送給 ImageMagick處理前, 檢查文件的magic bytes。Magic bytes是一個文件的前幾個字節,被用于識別圖像類型,例如GIF,JPEG和PNG等。
為了讓你更好地了解你將要面對的漏洞,下面提供一個可以瞞過ImageMagick的示例文件:
push graphic-context
viewbox 0 0 640 480
fill ‘url( https://example.com/image.jpg “|ls “-la)’
pop graphic-context
將其保存為任意的擴展名,例如expoit.jpg,然后通過ImageMagick去運行它
convert exploit.jpg out.png
是的,ImageMagick將會去執行嵌入的代碼:ls -l命令。
將這條命令替換為其它的惡意命令,將會直接威脅到目標機器,不過你可能會觸犯一些法律。
該漏洞將在ImageMagick 7.0.1-1和6.9.3-10版本中被修補,這些新版本預計將在周末前被公布。
來自: http://www.freebuf.com/vuls/103504.html