URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 125227
[ Назад ]

Исходное сообщение
"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"

Отправлено opennews , 10-Сен-21 22:11 
В Ghostscript, наборе инструментов для обработки, преобразования и генерации документов в форматах PostScript и PDF, выявлена критическая уязвимость (CVE-2021-3781), позволяющая выполнить произвольный код при обработке специально оформленного файла. Изначально на наличие проблемы обратил внимание Эмиль Лернер, который рассказал об уязвимости 25 августа на прошедшей в Санкт-Петербурге конференции ZeroNights X (в докладе было рассказано, как Эмиль в рамках программ bug bounty использовал уязвимость для получения премий за демонстрацию атак на сервисы  AirBNB, Dropbox и Яндекс.Недвижимость)...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=55780


Содержание

Сообщения в этом обсуждении
"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Аноним , 10-Сен-21 22:11 
Делать текстовые документы Тьюринг-полными изначально было ошибкой.

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Аноним , 10-Сен-21 22:51 
Ну, не знаю. Мне кажется, что ошибкой было (и есть) считать Postscript и PDF _текстовыми_ документами...

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено РобинГуд , 11-Сен-21 04:03 
А ты хорош.

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Аноним , 10-Сен-21 22:24 
Я старательно и методично удаляю ghostscript отовсюду.

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Kuromi , 10-Сен-21 22:41 
Все бы хорошо, но от него зависит CUPS...

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Аноним , 10-Сен-21 22:55 
Что-то вроде этого, если cups не используется.
#!/bin/sh
cat > /tmp/noop.c << EOF
void cupsGetOption(void){return;}
void cupsLastError(void){return;}
void cupsFreeDests(void){return;}
void cupsGetDests2(void){return;}
void cupsGetDests(void){return;}
void cupsGetDest(void){return;}
void cupsGetNamedDest(void){return;}
void cupsGetPPD2(void){return;}
void httpError(void){return;}
void cupsGetPPD(void){return;}
void httpConnectEncrypt(void){return;}
void httpClose(void){return;}
void httpBlocking(void){return;}
void ppdOpenFile(void){return;}
void ppdMarkDefaults(void){return;}
void ppdLastError(void){return;}
void ppdErrorString(void){return;}
void cupsParseOptions(void){return;}
void cupsMarkOptions(void){return;}
void cupsFreeOptions(void){return;}
void ppdFindMarkedChoice(void){return;}
void ppdFindOption(void){return;}
void ppdFindChoice(void){return;}
void ppdFindAttr(void){return;}
void ppdClose(void){return;}
//
void ppdOpen(void){return;}
//
void ppdOpenFd(void){return;}
//nwjs
void cupsFreeJobs(void){return;}
void cupsGetJobs2(void){return;}
void cupsGetJobs(void){return;}
void cupsPrintFile2(void){return;}
void cupsPrintFile(void){return;}
//nwjs 055
void cupsLastErrorString(void){return;}
//electron-9b6
void httpConnect2(void){return;}
//electron-14 (no idea)
void cupsEnumDests(void){return;}
void cupsCopyDest(void){return;}
void cupsRemoveDest(void){return;}
EOF

gcc -s -shared -fpic -march=native -O2 -pipe -Wl,-O1 -Wl,--as-needed -Wl,--sort-common -Wl,-z,relro -Wl,-z,now -Wl,--hash-style=gnu -Wl,--no-copy-dt-needed-entries -Wall -Wextra /tmp/noop.c -olibcups.so.2

mv -v libcups.so.2 /lib64/libcups.so.2
chmod a+rX /lib64/libcups.so.2
rm -v /tmp/noop.c



"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено макпыф , 11-Сен-21 15:17 
вернее cups-filters

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Админ Анонимов , 11-Сен-21 08:35 
тогда нужно было писать так:
Я старательно и методично удаляю ... отовсюду.

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Админ Анонимов , 11-Сен-21 08:37 
fix: Я старательно и методично удаляю xxx отовсюду.

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Аноним , 13-Сен-21 20:56 
Не, тогда уж лучше, CUPS удалю, а XXX пусть останется. Его и на экране смотреть можно. :)

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Kuromi , 10-Сен-21 22:33 
Сезон дыр в Ghostscript снова открыт? В прошлый раз уязвимости находили каждую неделю.

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Аноним , 11-Сен-21 11:04 
Осень.

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Аноним , 10-Сен-21 22:46 
Этот GhostScript - дырявое говно. Нужно окончательное решение GhostScriptного вопроса: написать drоp-in замену, использущую под капотом OpenBox.

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено B , 10-Сен-21 23:23 
Rust? Go?

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено пох. , 11-Сен-21 09:09 
игогошечка не сможет волшебным образом санировать строчку %pipe%, и опять все будет зависеть только от прямизны рук программиста.

Поэтому остается только начать переписывать на хрусте. Нет кода - нет уязвимостей! А если даже и есть - код прочитать невозможно, поэтому их не найдут.

Хотя, вон, обратите внимание на код Анонима под номером 2 - КАК он поде6ил проклятый cups! И ведь на сишечке, без всяких этих модных технологий!

Я полагаю, если качественно взяться - то и сам postscript можно подебить подобным образом, так что камня на камне от него не останется. Зачем вам проклятые педеэфе, "нам от проприетарной адоби ничаво нинужна!"



"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Аноним , 12-Сен-21 14:16 
Оба

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Аноним , 10-Сен-21 22:47 
Лично я отгородился от этой штуки через редактирование /etc/ImageMagick-6/policy.xml (Ubuntu 18.04 десктоп):

<policy domain="coder" rights="none" pattern="PS" />
<policy domain="coder" rights="none" pattern="EPI" />
<policy domain="coder" rights="none" pattern="PDF" />
<policy domain="coder" rights="none" pattern="XPS" />
<policy domain="coder" rights="none" pattern="PS2" />
<policy domain="coder" rights="none" pattern="PS3" />
<policy domain="coder" rights="none" pattern="EPS" />

Превьюхи для этих типов теперь пустые, но мне они и не нужны были.


"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Отец Инквизитор , 10-Сен-21 23:03 
Выколол себе глаза, чтоб не видеть греха? Уважаю.


"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Аноним , 13-Сен-21 06:49 
Давно так не смеялся, спасибо, Инквизитор! :)

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Аноним , 11-Сен-21 11:03 
Почему бы им не перейти уже на libvips. im/gm в разы медленнее и жрут больше памяти.

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Sw00p aka Jerom , 11-Сен-21 12:48 
там же ImageMagick в зависимостях

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Аноним , 11-Сен-21 18:03 
Ну так и говорю, сменить на libvips.

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Аноним , 11-Сен-21 23:04 
он optional - только для чтения форматов, не поддерживаемых самой vips

там в общем все "optional" (как и у самой imagemagick - вовсе необязательно вкомпилировать туда gs если тебе не нужны pdf'ы)

Но в целом - "вот когда в пехепе интегрируют, тогда и приходите".


"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Sw00p aka Jerom , 11-Сен-21 23:45 
> он optional - только для чтения форматов, не поддерживаемых самой vips

так и есть, просто в тех же портах в бсд он списке Requires

vips-8.11.3
Free image processing system
Description : Changes
Maintained by: danilo@FreeBSD.org
Requires: ImageMagick7-7.0.11.12_2, Imath-3.1.3 ....

> Но в целом - "вот когда в пехепе интегрируют, тогда и приходите".

If you are going to be using libvips with untrusted images, perhaps in a web server, for example, you should consider the security implications of enabling a package with such a large attack surface.

вот это рассмешило :)



"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено пох. , 12-Сен-21 00:12 
> так и есть, просто в тех же портах в бсд он списке Requires

ну ты просто не застал времен, когда там и imagick скачивал для сборки себя весь интернет ненужнейшего ненужно. У меня долго лежал среди прочих патч к мэйкфайлу, выпиливающий оттуда половину, типа никем и нигде не используемого jpeg2000. И еще дольше - трехстрочное заклинание для make делающее то же самое с мэйкфайлом следующего поколения, уже через дефайны. И только через еще несколько лет оно научилось в стандартный make config

И эту лет через пять починют ;-)

> вот это рассмешило :)

да там половина пакетов при установке чем-то подобным радует глаз. "Исправить мы ничего не можем, но мы хотя бы предупредили". Особенно полезно когда это зависимость пятого порядка и никто в общей куче ничего уже не прочитает.

традиция-с...



"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено timur.davletshin , 12-Сен-21 07:43 
> ... никем и нигде не используемого jpeg2000...

Archive.org содержит море сканов достойнейших книжек, качественные сканы там в JPEG2000 (PDF из JBIG2 + JPEG2000). Не вижу причин для пережатия и ухудшения кач-ва. Более того, PDF по стандарту требует поддержки JPEG2000. Тот же Firefox, который не поддерживает JPEG2000 в web-контенте, вынужден был написать декодер на JS в своём PDF.js.


"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено пох. , 12-Сен-21 09:04 
ну оригинально выпендрились, чо.
Интересно, где они нашли этот сканер, производства позапрошлого века.

И тот какими-то странными извращенцами, потому что и в прошлом веке сканеры использовали tiff в качестве универсального loosless формата, а не jpeg2000.


"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Anonymoustus , 12-Сен-21 10:43 
Не «выпендрились» и не «извращенцы», а стандартный формат (ISO/IEC 15444) против изначально собственнического TIFF.

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено пох. , 12-Сен-21 20:39 
Ну то есть белки-истерички как есть. Борцуны со всем собственническим во славу ненужного шва6одного.

Ну ооок...


"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Anonymoustus , 12-Сен-21 22:08 
Об их мотивах я не осведомлён.

Что касается шва6оды, не обойтись без бутылки и заглядывания далеко в прошлое. В одном документе пишут ( http://www.diva-portal.org/smash/get/diva2:925474/FULLTEXT01... ):

> 4.3. Conditions for Implementing Open and Formal Standards in Software

> In this sub-section we present a review of four specific standards with respect to the definition of an open standard and populate the conceptual model with these standards. Of the four specific standards analysed, one informal (consortium) standard (SVG) is provided as a W3C standard (but not as an ISO standard). Further, one formal (ISO) standard (PNG) is included in the explicit list of open standards published in the Netherlands (Standaardisatie, 2014), wwhereas two other formal (ISO) standards (JPEG 2000 and TIFF/EP) are not included in the explicit list and are consequently considered to be closed standards.

Возможно, девелоперз сабжа сохраняют ориентацию на оный стандарт потому, что JPEG 2000 с самого начала планировался, разрабатывался и принимался как стандарт, хотя дальше что-то пошло не так, разработчики браузеров его проигнорировали, ну и сегодня мало кто им пользуется.


"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено timur.davletshin , 12-Сен-21 11:54 
> И тот какими-то странными извращенцами, потому что и в прошлом веке сканеры
> использовали tiff в качестве универсального loosless формата, а не jpeg2000.

Никто не мешает тебе и TIFF скачать в индивидуальных файлах, только в JPEG2000 значительно меньше и намного качественнее, чем в простом JPEG. Для любителей и DJVU есть, но пожали его там отвратно. Если качественно хочется, то проще качнуть балком JPEG2000 и за пару секунд сконвертировать img2pdf'ом (формат от не меняет, просто "оборачивает" в PDF).


"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено пох. , 12-Сен-21 20:41 
> Никто не мешает тебе и TIFF скачать в индивидуальных файлах, только в
> JPEG2000 значительно меньше и намного качественнее, чем в простом JPEG. Для

вопрос в том, откуда у них вообще взялись такие уродливые "оригиналы" и зачем было их выкладывать вместо того, из чего они нагенерены - я вот уверен, что ни один сканер такого ужаса не порождает. Разьве что если специально сильно-сильно просить.

Т.е. они специально в этот формат конвертили из чего-то и без того удобочитаемого.


"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено timur.davletshin , 12-Сен-21 21:09 
> вопрос в том, откуда у них вообще взялись такие уродливые "оригиналы" и
> зачем было их выкладывать вместо того, из чего они нагенерены -
> я вот уверен, что ни один сканер такого ужаса не порождает.

Я не знаю, откуда столько пафоса, ты просто явно не пользовался им. Оригинальное сканирование там сделано самими библиотеками, в т.ч. самыми большими в мире, зачастую с цветокалибровочной палитрой в конце. Чего тебе ещё не хватает?


"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Tifereth , 14-Сен-21 10:31 
Ну так взять и спросить, если в самом деле интересно.

Если исторически *уже* есть туча всего в этом формате, что толку с умным видом говорить, что можно было иначе? Только чтобы пальцы лишний раз изящно растопырить, "а я Д'Артаньян"?


"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено пох. , 14-Сен-21 11:35 
Ну какая "туча всего"? Один весьма странный коллектив, слегка ушибленный "открытыми" стандартами, зачем-то сделал фигню. Вероятнее всего - переконвертив оригиналы, поскольку я по прежнему не верю в существование настолько уродливого сканерного софта.

Вопрос был риторический, ответ очевиден.


"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Sw00p aka Jerom , 12-Сен-21 14:12 
> ну ты просто не застал времен, когда там и imagick скачивал для
> сборки себя весь интернет ненужнейшего ненужно.

в те самые времена я из тарболов устанавливал, и плевался на порты, а щас ставлю из портов и плююсь на пекеджи.

> И эту лет через пять починют ;-)

дай Бог (оптимистично)

> традиция-с...

потребительская традиция опенсоурса. Думают, раз кто-то написал зачем писать самим, давайте юзать. А если там баги, то это не их проблемы.


"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Аноним , 11-Сен-21 16:46 
Ghostscript - это драйвер принтеров, в том числе свободная реализация языка PostScript. И не нойте пожалуйста, баги фиксят.

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Аноним , 11-Сен-21 19:36 
Баги сажают, вы хотели сказать? Этой проблемы нет в версиях до 9.50, когда что-то где-то зачем-то опять понаулучшайкали.


"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Kuromi , 11-Сен-21 17:11 
Кстати Эмиль молодец, сначала обнес компании на премии за уязвимости, а потом уже спалил её. А ведь мог продать АНБшникам\кулхацкерам же.

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено OpenEcho , 11-Сен-21 17:41 
да он вообще нормальный пацан, судя названиям проектов на гитхабе

https://github.com/neex/gifoeb
https://github.com/neex/phuip-fpizdam


"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Аноним , 12-Сен-21 23:35 
>нормальный пацан
>positive hack days

ну-ну.


"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено sailorCat , 11-Сен-21 23:59 
Никогда такого не было.

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Аноним , 12-Сен-21 08:44 
Я правильно понимаю, что т.е. если кто-то загрузит на нэкстклауд вредоносный файл, использующий эту уязвимость, код будет исполнен на сервере?

Предположим, что NC сервер работает на ubuntu 20.04 в формате снапа.


"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено Аноним , 13-Сен-21 23:48 
В Gentoo imagemagick уже с предложенными защитами поставляется (их как с прошлого раза поставили, так и не убирают)

"Уязвимость в Ghostscript, эксплуатируемая через ImageMagick"
Отправлено пох. , 14-Сен-21 11:37 
> В Gentoo imagemagick уже с предложенными защитами поставляется

в смысле со сломанной обработкой половины графических форматов? Вам к отцу инквизитору. По винтовой лесенке в подвал, и через люк по приставной еще ниже. Он вас там ждет.