中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么實現ghostscript沙箱繞過命令執行漏洞預警

發布時間:2021-12-20 19:26:11 來源:億速云 閱讀:246 作者:柒染 欄目:大數據

這篇文章給大家介紹怎么實現ghostscript沙箱繞過命令執行漏洞預警,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

0x00 漏洞背景

2019年1月23日晚,Artifex官方在ghostscriptf的master分支上提交合并了多達6處的修復。旨在修復 CVE-2019-6116 漏洞,該漏洞由 Google 安全研究員 taviso 于2018年12月3日提交。該漏洞可以直接繞過 ghostscript 的安全沙箱,導致攻擊者可以執行任意命令/讀取任意文件。

ghostscript應用廣泛,ImageMagick、python-matplotlib、libmagick 等圖像處理應用均有引用。

0x01 漏洞詳情

在之前的漏洞中 ghostscript 吸取經驗,針對一些特殊并且具有強大功能的函數做了一層封裝。

這層封裝就是executeonly這個標記, 以及odef這個偽運算符。

附帶executeonly這個標記的效果是 PostScript 將不會允許引用該受保護的函數。

附帶odef這個運算符的效果是 PostScript 錯誤處理程序不會從這個運算往上繼續檢索堆棧。

如果當前運算符(或偽運算符)遇到異常或者出錯停止,就不會暴露任何棧上內容。

但是 taviso 依舊通過發現在這些函數中,如果存在像判斷這樣的狀態,那么上面的保護將失去應有的效果。

導致 ghostscript 可以像以往一樣從棧中獲得危險的函數以及引用他們而造成漏洞。

taviso 給出了一處可以利用的代碼片段

http://git.ghostscript.com/?p=ghostpdl.git;a=blob;f=Resource/Init/pdf_draw.ps;h=79733df451c1ecc0a71b08d10e5412ac3e243a9e;hb=gs926#l1123

1123       {
1124         currentglobal pdfdict gcheck .setglobal
1125         pdfdict /.Qqwarning_issued //true .forceput
1126         .setglobal
1127         pdfformaterror
1128       } ifelse

然后通過堆棧上的構造即可實現任意命令執行/文件讀取。

$ gs -dSAFER -f ghostscript-926-forceput.ps
GPL Ghostscript 9.26 (2018-11-20)
Copyright (C) 2018 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Stage 0: PDFfile
Stage 1: q
Stage 3: oget
Stage 4: pdfemptycount
Stage 5: gput
Stage 6: resolvestream
Stage 7: pdfopdict
Stage 8: .pdfruncontext
Stage 9: pdfdict
Stage 10: /typecheck #1
Stage 10: /typecheck #2
Stage 11: Exploitation...
Should now have complete control over ghostscript, attempting to read
/etc/passwd...
(root:x:0:0:root:/root:/bin/bash)
Attempting to execute a shell command...
uid=1000(taviso) gid=1000(primarygroup)
groups=1000(primarygroup),4(adm),20(dialout),24(cdrom),25(floppy),44(video),46(plugdev),999(logindev)

360CERT 判斷該漏洞危害嚴重,影響面廣。建議用戶及及時進行版本升級,同時對線上涉及圖像、pdf等格式的處理的服務進行版本自查。

0x02 漏洞驗證

怎么實現ghostscript沙箱繞過命令執行漏洞預警

0x03 影響版本

ghostscript 尚無 release 版本發布

commit c47512e5e638d903d69925f7ebab4de2aa3f481f 之前的版本均受到影響

ghostscript作為圖像處理格式轉換的底層應用。

漏洞導致所有引用ghostscript的上游應用受到影響。 涉及但不限于:

  • imagemagick

  • libmagick

  • graphicsmagick

  • gimp

  • python-matplotlib

  • texlive-core

  • texmacs

  • latex2html

  • latex2rtf

0x04 修復建議

建議更新到

(c47512e5e638d903d69925f7ebab4de2aa3f481f)之后的版本,或者直接重新拉取master
分支進行更新

若無法更新可先嘗試禁用使用gs解析ps文件

使用ImageMagick,建議修改policy文件(默認位置:/etc/ImageMagick/policy.xml),在中加入以下(即禁用 PS、EPS、PDF、XPS coders、PCD):

<policymap>
<policy domain="coder" rights="none" pattern="PS" />
<policy domain="coder" rights="none" pattern="EPS" />
<policy domain="coder" rights="none" pattern="PDF" />
<policy domain="coder" rights="none" pattern="XPS" />
<policy domain="coder" rights="none" pattern="PCD" />
</policymap>

但 taviso 提到 policy 是十分寬松的,可能會存在一些沒有提及的格式存在繞過。

360CERT 建議用戶及及時進行版本升級,同時對線上涉及圖像、pdf等格式的處理的服務進行版本自查。

關于怎么實現ghostscript沙箱繞過命令執行漏洞預警就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长乐市| 武乡县| 孟村| 应城市| 阳原县| 自贡市| 武宁县| 田林县| 孟村| 阿瓦提县| 托克逊县| 宣化县| 英超| 和硕县| 噶尔县| 措美县| 兴安县| 高密市| 永城市| 沧州市| 崇州市| 三河市| 隆昌县| 洛隆县| 响水县| 拜城县| 柳林县| 九江市| 修文县| 五峰| 敦煌市| 绥芬河市| 江北区| 淳化县| 洛扎县| 天祝| 镇安县| 星座| 萨迦县| 临海市| 灌南县|