В Ghostscript, наборе инструментов для обработки, преобразования и генерации документов в форматах PostScript и PDF, выявлена уязвимость (CVE-2020-15900), которая может привести к изменению файлов и запуску произвольных команд при открытии специально оформленных документов в формате PostScript. Использование в документе нестандартного PostScript-оператора rsearch позволяет вызвать переполнение типа uint32_t при вычислении размера, переписать области памяти вне выделенного буфера и получить доступ к файлам в ФС, что можно использовать для организации атаки для выполнения произвольного кода в системе (например, через добавление команд в ~/.bashrc или ~/.profile)...Подробнее: https://www.opennet.me/opennews/art.shtml?num=53480
Предлагаю запретить Ghostscript.
Пора уже сделать drop-in замену для ghostscript, взяв от него API, а от memory-safe библиотеки - движок.
Правильно! Делай!
Там основная проблема в самом API
У GhostScript нет API, это интерпретатор языка программирования PostScript. Если и заботиться о безопасности, то надо запускать его в изолированном окружении.
они так и делают. Но почему-то каждый раз выясняется, что из этой изоляции можно сбежать.
Php вон типа изолированный. Но в каждой первой версии очередного wordpress плагина все-равно выясняется что навебмакачить - можно. А конкретно ghastscript вообще стремноват на уровне идеи.
> Php вон типа изолированный.вот ни разу. Абсолютно ничем не изолированный, если ты сам только не изолируешь уже его интерпретатор.
Изолированная слегка у нас жабка - да и то, с особенностями (то есть можно писать изолированное, а можно и полнофункциональное, хоть lvmом из него рули)
А вот конкретно gs в силу специального назначения всегда исполнялся в sandbox'ике. Но, поскольку писали интерпретатор в дивные древние дни, а переписать, в виду некоторой нетривиальности, некому - скажи фак и выходи.
Есть невообразимо отвратительное API, которое просто пробрасывает консольный интерфейс и позволяет рендерить в память и не создавать лишние процессы.Используется во сновном для рендеринга пдфок в картинку с носледующим отоброжением оной. Это и pdfbox умеет.
Как обычно! Не безопаснее винды, линукс на декстопе с индексацией файлов...
1% в опасности.
тоесть все пользователе Linux
Ghostscript - интерпретатор postscript.
postscript - полный по Тьюрингу язык.
Так что выполнение произвольного кода есть "из коробки".
Как в том анекдоте "но есть один нюанс".
Произвольного в пределах этой среды, или нативно в ОС.
Зачем для декларативных документов нужен Тьюринг полный язык.
Может быть чтобы нарисовать 5 кружков в цикле максимум.
Почему-то TeX и Groff, при тех же возможностях по форматированию документов и вроде бы доказанной Тьюринг полноты, позволяет не выползать из коробки.
> Зачем для декларативных документов нужен Тьюринг полный язык.Чтобы интерпретатор был больше и непредсказуемее. Еще спросите нафига одним CSS можно накодить game of life, чтоли, и какие там еще клеточные автоматы.
> Чтобы интерпретатор был больше и непредсказуемее.Зачастую — ровно наоборот. Сложность выносится в скрипты, а интерпретатор остаётся сравнительно простым.
Поэтому бонусом вас поимеют не только через интерпретатор, но и через навороченные скрипты. И получается как у мозилы с js просмотрщиком, когда ремота вплевывает вам скрипт, тот прорубается работать с правами морды просмотрщика и далее хреначит по системе с правами текущего пользователя, делая все что пожелал. На практике желали в основном стырить логины-пароли-ключи и прочие биткоинвалеты где деньги лежат.
ghostscript в основном используется для рендеринга PDFок. А в стандарте на pdf сказано, что там postscript не должен быть Тьюринг-полным.Есть нюанс - согласно докам (которые могут быть неполными), ghostscript не позволяет явно выбрать тип документа, вместо этого он сам его детектит.
Никогда не было и вот опять. Я уже лет 10 его отовсюду старательно удаляю и ммм пытаюсь изолировать. Пдфки тоже опасно открывать, кстати.
КСЖ
А разве в Наутилусе тамбнейлер по-умолчанию не изолирован с помощью bubblewrap? Разве не для таких случаев в ынтерпрайз-дистрах используют SELinux и AppArmor? Даже я, Честный Анонимус, которому нечего скрывать, давно себе написал AppArmor-профиль на tumblerd в Arch/Xfce/Thunar, чтобы зарезать доступ к /home, /tmp, /proc и сети по-максимуму.
apparmor требует python, поэтому у меня выпилен. Насчет libapparmor не знаю, он остался.
питон сам по себе вулн - половина кулхацкерских потуг без него элементарно не работает 8)
Селинукс настоящие девляпсы выключают в момент создания виртуалки.Т.к. не умеют готовить.
Python зло
>Пакеты в RHEL проблемы не подвержены.<Что то подозрительно часто они ничему не подвержены
Просто они используют старые версии, а дыры последнее время всплывают в новых (это не плохо, а наоборот хорошо - ведётся независимый аудит новых версий и дыры в них успевают найти раньше включения в enterprise дистрибутив).
вот что бывает, когда делом занимаются профессионалы
RH ещё не доросли до новых версий.
Наделают лишнего функционала там где его не нужно и который никем не используется - а потом уязвимости десятилетиям разгребают.
Мурзилка ещё не переписывает гхост на раст?
Они уже просмотрщик пдфин на JS переписали, спасибо! Мало того что тот стал тупить и жрать оперативу как не в себя - так потом оказалось что он еще может кроссплатформенные трояны на JS запускать, тудыть-растудыть. С правами доступа как у "системного" кода браузера, $%^!
Зачем этот говнокод переписывать? Если что и переписывать - так это pdfbox.
Это какая новость по счёту уже?
53480-ая
Я имел в виду про уязвимости в этой поделке. Мне казалось, что это более, чем очевидно :(
В этом году — первая.
https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=ghostscript
Ну, кстати, 1 дырка за более чем полгода в ТАКОЙ мегамонстриле - это не так уж и позорно, пожалуй.
Зато в прошлом году дыру каждую неделю находили.