Бесплатно Экспресс-аудит сайта:

14.07.2023

Ghostscript: как одна уязвимая функция может испортить вам жизнь

В Ghostscript , открытом интерпретаторе языка PostScript и PDF -файлов, широко используемом в Linux , обнаружена уязвимость , позволяющая удалённо выполнять произвольный код.

Уязвимость получила идентификатор CVE-2023-3664 , оценку критичности 9.8 по шкале CVSS v3 и затрагивает все версии Ghostscript кроме последней под номером 10.01.2, которая была выпущена три недели назад.

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

Учитывая, что Ghostscript установлен по умолчанию во многих дистрибутивах Linux и активно используется такими программами, как LibreOffice, GIMP, Inkscape, Scribus, ImageMagick и CUPS, возможности использования CVE-2023-3664 достаточно широки.

Исследователи также отмечают, что проблема касается и открытых приложений на Windows , если они используют порт Ghostscript.

Уязвимость CVE-2023-3664 связана с каналами операционной системы, которые позволяют различным приложениям обмениваться информацией, передавая выходные данные из одного приложения в качестве входных для другого.

Проблема возникает из-за функции «gp_file_name_reduce()» в Ghostscript, которая, по-видимому, принимает несколько путей, а затем объединяет и упрощает их, удаляя относительные ссылки на пути для повышения эффективности.

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

Кроме того, когда Ghostscript пытается открыть файл, он использует другую функцию под названием «gp_validate_path», чтобы проверить, безопасно ли его расположение.

Однако, поскольку уязвимая функция изменяет детали расположения до проверки второй функцией, потенциальный злоумышленник способен использовать лазейку и заставить Ghostscript работать с файлами в местах, которые по умолчанию должны быть недоступны.

Аналитики Kroll создали PoC-эксплойт, который срабатывает при открытии EPS-файла в любом приложении, использующем Ghostscript.

Всем пользователям Linux рекомендуется обновиться до последней версии Ghostscript 10.01.2 с помощью менеджера пакетов своего дистрибутива. А если последняя версия Ghostscript пока недоступна в каналах программного обеспечения вашего дистрибутива, рекомендуется скомпилировать её из исходного кода.

К сожалению, открытые приложения на Windows, которые используют порты Ghostscript, естественно потребуют больше времени для перехода на последнюю версию инструмента. Поэтому рекомендуется быть особенно осторожными с подозрительными инсталляторами в Windows.