Bug 40899

Summary: CVE-2021-3781 (RCE)
Product: Sisyphus Reporter: Michael Shigorin <mike>
Component: ghostscriptAssignee: Fr. Br. George <george>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: major    
Priority: P1 CC: aen, cas, george, kirill, lav, ldv, nbr, rider, sotor, vitty
Version: unstableKeywords: security
Hardware: all   
OS: Linux   
Attachments:
Description Flags
принятый в апстрим патч none

Description Michael Shigorin 2021-09-11 08:48:44 MSK
---
В 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". 
--- http://opennet.ru/55780
Comment 1 Michael Shigorin 2021-09-11 08:50:11 MSK
Created attachment 9659 [details]
принятый в апстрим патч

http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=a9bd3dec9fde03327a4a2c69dad1036bf9632e20
Comment 2 Fr. Br. George 2021-09-12 11:18:28 MSK
fixed in -alt3
Comment 3 Michael Shigorin 2021-09-14 13:35:08 MSK
Спасибо!

Теперь, видимо, изменения между 9.54.0-alt1 и -alt3 надо проверить и в p10.
Comment 4 Michael Shigorin 2021-09-20 13:21:44 MSK
Уже в p10.