Π Ghostscript, Π½Π°Π±ΠΎΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ°Ρ PostScript ΠΈ PDF, Π²ΡΡΠ²Π»Π΅Π½Π° ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ (CVE-2021-3781), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΎΠ±ΡΠ°ΡΠΈΠ» Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΠΌΠΈΠ»Ρ ΠΠ΅ΡΠ½Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΡΠΊΠ°Π·Π°Π» ΠΎΠ± ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ 25 Π°Π²Π³ΡΡΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅Π΄ΡΠ΅ΠΉ Π² Π‘Π°Π½ΠΊΡ-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³Π΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ ZeroNights X (Π² Π΄ΠΎΠΊΠ»Π°Π΄Π΅ Π±ΡΠ»ΠΎ ΡΠ°ΡΡΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΠΌΠΈΠ»Ρ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ bug bounty ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅ΠΌΠΈΠΉ Π·Π° Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ Π°ΡΠ°ΠΊ Π½Π° ΡΠ΅ΡΠ²ΠΈΡΡ AirBNB, Dropbox ΠΈ Π―Π½Π΄Π΅ΠΊΡ.ΠΠ΅Π΄Π²ΠΈΠΆΠΈΠΌΠΎΡΡΡ).
5 ΡΠ΅Π½ΡΡΠ±ΡΡ Π² ΠΎΡΠΊΡΡΡΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΠΊΡΠΏΠ»ΠΎΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π°ΡΠ°ΠΊΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Ρ Ubuntu 20.04 ΡΠ΅ΡΠ΅Π· ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΌΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ web-ΡΠΊΡΠΈΠΏΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅ΠΌΡ ΠΏΠ°ΠΊΠ΅Ρ php-imagemagick, ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ Π²ΠΈΠ΄ΠΎΠΌ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ Π΄Π°Π½Π½ΡΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΊΡΠΏΠ»ΠΎΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΡΡ Π² ΠΎΠ±ΠΈΡ ΠΎΠ΄Π΅ Π΅ΡΡ Ρ ΠΌΠ°ΡΡΠ°. ΠΠ°ΡΠ²Π»ΡΠ»ΠΎΡΡ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π°ΡΠ°ΠΊΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ Ρ GhostScript 9.50, Π½ΠΎ Π²ΡΡΡΠ½ΠΈΠ»ΠΎΡΡ, ΡΡΠΎ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈ Π²ΠΎ Π²ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π²Π΅ΡΡΠΈΡΡ GhostScript, Π²ΠΊΠ»ΡΡΠ°Ρ Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΉΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π²ΡΠΏΡΡΠΊ 9.55 ΠΈΠ· Git.
ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ 8 ΡΠ΅Π½ΡΡΠ±ΡΡ ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠ΅ΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ½ΡΡΠΎ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ GhostScript 9 ΡΠ΅Π½ΡΡΠ±ΡΡ. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΡΡΠ°ΡΡΡΡ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ Π½Π΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π° (ΡΡΠ°ΡΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ Debian, Ubuntu, Fedora, SUSE, RHEL, Arch Linux, FreeBSD, NetBSD). Π Π΅Π»ΠΈΠ· GhostScript Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ»Π°Π½ΠΈΡΡΡΡ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΠΌΠ΅ΡΡΡΠ°.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π²ΡΠ·Π²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΎΠ±Ρ ΠΎΠ΄Π° ΡΠ΅ΠΆΠΈΠΌΠ° ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ «-dSAFER» ΠΈΠ·-Π·Π° Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Postscript-ΡΡΡΡΠΎΠΉΡΡΠ²Π° «%pipe%», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²ΡΠΈΡ Π΄ΠΎΠ±ΠΈΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ shell-ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΡΠΈΠ»ΠΈΡΡ id Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΡΠΎΠΊΡ «(%pipe%/tmp/&id)(w)file» ΠΈΠ»ΠΈ «(%pipe%/tmp/;id)(r)file».
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² Ghostscript ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΡΡ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΡΠΌΠ°ΡΠΎΠ² PostScript ΠΈ PDF. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ghostscript Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠ°ΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΡΡΠΎΠ»Π΅, ΠΏΡΠΈ ΡΠΎΠ½ΠΎΠ²ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΠ»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ Π°ΡΠ°ΠΊΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΠΉΠ» Ρ ΡΠΊΡΠΏΠ»ΠΎΠΈΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ Π½ΠΈΠΌ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ΅, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠ΅ΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΊΠΈΠ·ΠΎΠ² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Nautilus.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² Ghostscript ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° Π±Π°Π·Π΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ImageMagick ΠΈ GraphicsMagick, ΠΏΠ΅ΡΠ΅Π΄Π°Π² Π² Π½ΠΈΡ
JPEG ΠΈΠ»ΠΈ PNG-ΡΠ°ΠΉΠ», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΊΠΎΠ΄ PostScript (ΡΠ°ΠΊΠΎΠΉ ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ Π² Ghostscript, ΡΠ°ΠΊ ΠΊΠ°ΠΊ MIME-ΡΠΈΠΏ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡΡΡ ΠΏΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ, Π° Π½Π΅ ΠΏΠΎΠ»Π°Π³Π°ΡΡΡ Π½Π° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅).
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru