ImageMagick์„ ํ†ตํ•ด ์•…์šฉ ๊ฐ€๋Šฅํ•œ Ghostscript ์ทจ์•ฝ์ 

PostScript ๋ฐ PDF ํ˜•์‹์˜ ๋ฌธ์„œ๋ฅผ ์ฒ˜๋ฆฌ, ๋ณ€ํ™˜ ๋ฐ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ ์„ธํŠธ์ธ Ghostscript์—๋Š” ํŠน์ˆ˜ ํ˜•์‹์˜ ํŒŒ์ผ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ์ž„์˜ ์ฝ”๋“œ ์‹คํ–‰์„ ํ—ˆ์šฉํ•˜๋Š” ์‹ฌ๊ฐํ•œ ์ทจ์•ฝ์ (CVE-2021-3781)์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ์ด ๋ฌธ์ œ๊ฐ€ ์ƒํŠธํŽ˜ํ…Œ๋ฅด๋ถ€๋ฅดํฌ์—์„œ ์—ด๋ฆฐ ZeroNights X ์ปจํผ๋Ÿฐ์Šค์—์„œ 25์›” XNUMX์ผ์— ์ทจ์•ฝ์ ์— ๋Œ€ํ•ด ์–ธ๊ธ‰ํ•œ Emil Lerner์˜ ๊ด€์‹ฌ์„ ๋Œ์—ˆ์Šต๋‹ˆ๋‹ค(๋ณด๊ณ ์„œ์—์„œ๋Š” Emil์ด ๋ฒ„๊ทธ ํฌ์ƒ๊ธˆ ํ”„๋กœ๊ทธ๋žจ์˜ ์ผ๋ถ€๋กœ ์ด ์ทจ์•ฝ์ ์„ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ–ˆ๋Š”์ง€ ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค). AirBNB, Dropbox ๋ฐ Yandex.Real Estate ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๊ณต๊ฒฉ ์‹œ์—ฐ์— ๋Œ€ํ•œ ๋ณด๋„ˆ์Šค๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค.

5์›” 20.04์ผ, php-imagemagick ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„์—์„œ ์‹คํ–‰๋˜๋Š” ์›น ์Šคํฌ๋ฆฝํŠธ์— ์ด๋ฏธ์ง€๋กœ ๋กœ๋“œ๋œ ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋œ ๋ฌธ์„œ๋ฅผ ์ „์†กํ•˜์—ฌ Ubuntu 9.50๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์‹œ์Šคํ…œ์„ ๊ณต๊ฒฉํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์—…์ด ๊ณต๊ฐœ ๋„๋ฉ”์ธ์— ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ์˜ˆ๋น„ ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ฅด๋ฉด ์œ ์‚ฌํ•œ ์ต์Šคํ”Œ๋กœ์ž‡์ด 9.55์›”๋ถ€ํ„ฐ ์‚ฌ์šฉ๋œ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. GhostScript XNUMX์„ ์‹คํ–‰ํ•˜๋Š” ์‹œ์Šคํ…œ์ด ๊ณต๊ฒฉ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ฃผ์žฅํ–ˆ์ง€๋งŒ Git์—์„œ ๊ฐœ๋ฐœ ์ค‘์ธ XNUMX ๋ฆด๋ฆฌ์Šค๋ฅผ ํฌํ•จํ•˜์—ฌ ๋ชจ๋“  ํ›„์† ๋ฒ„์ „์˜ GhostScript์— ์ทจ์•ฝ์ ์ด ์กด์žฌํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.

์ˆ˜์ • ์‚ฌํ•ญ์€ 8์›” 9์ผ์— ์ œ์•ˆ๋˜์—ˆ์œผ๋ฉฐ, ๋™๋ฃŒ ๊ฒ€ํ† ๋ฅผ ๊ฑฐ์ณ XNUMX์›” XNUMX์ผ์— GhostScript ์ €์žฅ์†Œ์— ์Šน์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ๋ฐฐํฌํŒ์—์„œ ๋ฌธ์ œ๋Š” ์ˆ˜์ •๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค(์—…๋ฐ์ดํŠธ ๊ฒŒ์‹œ ์ƒํƒœ๋Š” Debian, Ubuntu, Fedora, SUSE, RHEL, Arch Linux, FreeBSD, NetBSD ํŽ˜์ด์ง€์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค). ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์ด ํฌํ•จ๋œ GhostScript ๋ฆด๋ฆฌ์Šค๋Š” ์ด๋‹ฌ ๋ง ์ด์ „์— ๊ฒŒ์‹œ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋Š” ์ž„์˜์˜ ์…ธ ๋ช…๋ น ์‹คํ–‰์„ ํ—ˆ์šฉํ•˜๋Š” Postscript ์žฅ์น˜ "%pipe%"์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฒ€์‚ฌ๊ฐ€ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์•„ "-dSAFER" ๊ฒฉ๋ฆฌ ๋ชจ๋“œ๋ฅผ ์šฐํšŒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฌธ์„œ์—์„œ id ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด "(%pipe%/tmp/&id)(w)file" ๋˜๋Š” "(%pipe%/tmp/;id)(r)file" ์ค„์„ ์ง€์ •ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

Ghostscript์˜ ์ทจ์•ฝ์ ์€ PostScript ๋ฐ PDF ํ˜•์‹์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋งŽ์€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉ๋˜๋ฏ€๋กœ ์œ„ํ—˜์ด ์ฆ๊ฐ€ํ•œ๋‹ค๋Š” ์ ์„ ์ƒ๊ธฐ์‹œ์ผœ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Ghostscript๋Š” ๋ฐ์Šคํฌํƒ‘ ์ธ๋„ค์ผ ์ƒ์„ฑ, ๋ฐฐ๊ฒฝ ๋ฐ์ดํ„ฐ ์ธ๋ฑ์‹ฑ ๋ฐ ์ด๋ฏธ์ง€ ๋ณ€ํ™˜ ์ค‘์— ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ์„ฑ๊ณต์ ์ธ ๊ณต๊ฒฉ์„ ์œ„ํ•ด์„œ๋Š” ๋Œ€๋ถ€๋ถ„ ์ต์Šคํ”Œ๋กœ์ž‡์ด ํฌํ•จ๋œ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ฑฐ๋‚˜ ๋…ธํ‹ธ๋Ÿฌ์Šค์™€ ๊ฐ™์ด ๋ฌธ์„œ ์ถ•์†ŒํŒ ํ‘œ์‹œ๋ฅผ ์ง€์›ํ•˜๋Š” ํŒŒ์ผ ๊ด€๋ฆฌ์ž์—์„œ ํ•ด๋‹น ํŒŒ์ผ์ด ํฌํ•จ๋œ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋ณด๋Š” ๊ฒƒ์œผ๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

Ghostscript์˜ ์ทจ์•ฝ์ ์€ ์ด๋ฏธ์ง€ ๋Œ€์‹  PostScript ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋œ JPEG ๋˜๋Š” PNG ํŒŒ์ผ์„ ์ „๋‹ฌํ•˜์—ฌ ImageMagick ๋ฐ GraphicsMagick ํŒจํ‚ค์ง€ ๊ธฐ๋ฐ˜ ์ด๋ฏธ์ง€ ํ”„๋กœ์„ธ์„œ๋ฅผ ํ†ตํ•ด ์•…์šฉ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด์šฉ์— ์˜์กดํ•˜์ง€ ์•Š๊ณ  ํ™•์žฅ์ž์— ์˜์กดํ•˜์ง€ ์•Š์Œ).

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€