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

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

Отправлено opennews , 13-Апр-23 10:21 
В Ghostscript, наборе инструментов для обработки, преобразования и генерации документов в форматах PostScript и PDF, выявлена уязвимость (CVE-2023-28879), которую можно использовать для организации выполнения произвольного кода при открытии специально оформленных документов в формате  PostScript. Уязвимость устранена в обновлениях Ghostscript 10.01.1 и GhostPDL 10.01.1. Проследить за появлением  исправлений в дистрибутивах можно на следующих страницах: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch, NetBSD, FreeBSD...

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


Содержание

Сообщения в этом обсуждении
"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 10:21 
А куда бы вы встроили уязвимость, чтобы получить максимальный эфеект?

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 10:21 
В IME

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 10:25 
В поле для комментариев.
Чтобы по ключевым словам и выражениям сразу нафик с пляжа.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 13-Апр-23 11:56 
Очевидно же. В CPU.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 13-Апр-23 11:56 
(Meltdown не даст соврать)

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 12:24 
> (Meltdown не даст соврать)

ME тоже :)


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 19:58 
Перейдут на арм.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 21:43 
> Перейдут на арм.

Получится PSP.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено ptr , 14-Апр-23 10:20 
EFI

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 10:21 
> Ghostscript вызывается в процессе создания миниатюр на рабочем столе

Это если пользоваться гуйными ФМ. В туйных (nnn, ranger, xplr) такой проблемы нет. Вообще, рекомендую туй, один хрен из консоли не вылазим.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 11:12 
Чё ты там забыл, в той консоли? В гуйне намного удобнее организовывать данные, оперировать ими, можно смазать скриптами опять же.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 11:55 
Интеграция приложений в GUI гораздо сложнее, чем у текстовых. Поэтому в GUI меньше возможностей. Или гораздо труднее сделать нужное.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 12:07 
Например?

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 14:29 
В терминале софт отдаёт текст, а BusyBox, CoreUtils и т.д. хорошо умеют в тексте найти нужное.

Получается API: отдаёшь текстом команду, получаешь текстом ответ, ответ легко разобрать автоматически и в ответ отдать скриптом др. команду. Автоматизация-интеграция.

В GUI это требует совсем другого уровня трудоёмкости и развития, плюс нужно дописывать чужой софт. Вместо использования готового.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноньимъ , 13-Апр-23 17:43 
>ответ легко разобрать автоматически и в ответ отдать скриптом др. команду

1. Гуй нужен для людей, а не для роботов. В топку ваш парсинг портянок портянками.

2. Для роботов куда удобнее парсить и формировать xml или json. Опять таки, в топку ваши невменяемые текстовые портянки с парсингом ради парсинга.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 20:46 
Если код писать не дано или не научили, то - да. Роботов писать - это писать код.

А речь про другое: про интеграцию разных приложений одно решение собственных задач. GUI тогда гораздо сложнее.

Текст разобрать утилитами и отдать дальше по коду куда проще, чем дописывать нужное в GUI приложения. Из-за чего и стало так много комстроки. Т.к. удобнее и проще по итогу.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноньимъ , 14-Апр-23 01:32 
ГУЙ нужен для взаимодействия с ЧЕЛОВЕКОМ, а не для интеграции приложений.

Для интеграции совсем другие технологии есть, которые успешно применяют десятки лет. RPC например банальный, простой как палка, добавляемый куда угодно.

Более того, наличие ГУЯ НЕ ОТМЕНЯЕТ наличие консольного вывода, который можно парсить как вы любите.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 14-Апр-23 08:38 
У гуя проблема в том что автоматизировать в нем действия крайне сложно и неудобно.

Простой пример: в консольном ffmpeg я вызываю ffprobe, разбираю его вывод и для конкретных типов камер и ориентации камеры (по акселерометру) меняю параметры кодирования видео, такие вот себе "активные профайлы с мутацией". А теперь удачи этот номер в чем-то гуйном провернуть. Хоть с RPC хоть без, заодно можете засечь сколько времени на имплементацию уйдет.

Как угодно но на баше + связке консольных утилит в пайп это проще всего реализуется, за считанные минуты. И вот уже скрипт вкаылвает, варьируя параметры 150 мувикам нащелканым на разные камеры, перегоняя их в формат который вон тот старинный плеер понимает. "Вкалывают роботы".


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 14-Апр-23 15:38 
Ты не прав, есть куча решений для автоматизации гуя, в том числе и для линукса. И автоматизировать гуй намного проще, если уж на то пошло, для этого не надо знать ни шелл, ничего.

Про надёжность решения с ffprobe я наверное промолчу, а то фанаты этой поделки опять обидятся.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 14-Апр-23 16:11 
Пример есть? Git, статья - посмотреть на код. Какую книгу читать?

Не GUI автоматизировать. А получать НЕ существовавшее ранее решение, без изменения  и без дописывания чужого GUI приложения.

Сделать нужное из комплекта текстовых утилит гораздо проще, чем извлекать инфу из GUI и отдавать в др. GUI.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 14-Апр-23 17:02 
https://www.google.com/search?client=firefox-b-d&q=gui+autom...

Порядок действий примерно такой.
Шаг1. Берёшь качественное профессиональное ПО. Что, оно не имеет средств автоматизации и пакетной обработки? Ты уверен, что оно профессиональное? Ну ладно.
Шаг2. Включаешь запись действий в любимой программе автоматизации. Ищешь окно, оправляешь в него все необходимые команды для каждой из программ, участвующих в процессе.
Шаг3. Добавляешь передачу всех необходимых данных в любом объёме и выполняешь для них записанные действия из предыдущего этапа. Получаешь содержимое и информацию об окнах для проверки содержимого, передачи между программами, или просто для вывода красивой информации о процессе работы. Разбавляешь простейшей логикой и сравнениями, для выбора поведения.

Весь процесс занимает пару минут в худшем случае.

Текстовые утилиты? Не смеши, в основном это всё куча низкосортного ПО с миллионом ограничений, требующая высокого уровня компетенции от пользователя, и гуйня -- это профессиональные инструменты, доступные каждому.

Я целиком за использование баша и гну, и делал с ними такие вещи, о которых ты даже не мечтал, но не надо наговаривать на гуй. Для каждой задачи есть свои подходящие инструменты, и набор костылей и портянок это практически всегда весьма компромиссный вариант, объективно говоря, рандомный питон сделает всё куда лучше, надёжнее, и безопаснее шелла и типичных шелл-утилит.

Другое дело, что опенсорс, и, в частности, опенсорс гуйня, обычно низкого уровня, с никакущим юзабилити, чаще всего его можно только выкинуть и закопать. Тут действительно, порой имеет смысл взять _референсные_ реализации ПО, которые по совпадению часто имеют консольный интерфейс. Ну, скажем, ffmpeg днище именно в плане получения информации о файлах. Если нужны теги, стоит взять полноценное ПО для получения тегов. Если необходима информация о файле, имеет смысл использовать утилиту, качественно работающую конкретно с этим форматом файлов.

Найти качественное гуёвое приложение куда проще, чем обходить проблемы и ограничения консольного ПО, опять же.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноньимъ , 14-Апр-23 17:53 
1. Нет у гуя никакой проблемы автоматизации, ниже вам объяснили.
2. Еще раз, для аутистов, гуй НЕ ОТМЕНЯЕТ консольного вывода и функционала направленного на автоматизацию.

Еще раз, еще, ты блин прочитай что тебе пишут. ГУЙ, НУЖЕН, ДЛЯ, ВЗАИМОДЕЙСТВИЯ, С, ЛЮДЬМИ.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 15-Апр-23 11:11 
> 1. Нет у гуя никакой проблемы автоматизации, ниже вам объяснили.

Кроме того что там в РАЗЫ больше возни. И не делается "здесь и сейчас", однострочником, за 15 секунд, после чего комп в автоматическом режиме решает проблему которая вручную потребовала бы полдня клацаний. Автоматизация для гуев бывает но по сравнению с вон тем - она ужасна. Я это делал поэтому имел возможность сравнить.

> 2. Еще раз, для аутистов, гуй НЕ ОТМЕНЯЕТ консольного вывода и функционала
> направленного на автоматизацию.

В какой нибудь винде допустим деление крайне жесткое. Вы либо консольная программа, либо гуйная. Нет, в теории гуйная программа может аллоцировать консоль, а консольная создавать окна. Но они все равно довольно фундаментально отличаются. Консольной принудительно создают окно консоли, и отказаться от этого малореально. У гуйной окна консоли изначально нет и чтобы что-то делать с консолью ее надо сперва создать и это сильно отдельные приключения. Можно сказать что проблемы индейцев шерифа не интересуют, но в портабельных программах - увы и ах, придется это безобразие учитывать. Иначе это не будет портабельной программой.

> Еще раз, еще, ты блин прочитай что тебе пишут. ГУЙ, НУЖЕН, ДЛЯ,
> ВЗАИМОДЕЙСТВИЯ, С, ЛЮДЬМИ.

Люди разные бывают. И то что хорошо чайнику и нубу не обязательно хорошо и эффективно для продвинутого спеца. Хомяк не парится 200 раз мышкой перетащить. Спец вкатит oneliner который это сделает за 20 секунд а не 2 часа пыхтения. И эффективность взаимодействия с компьютером будет очень разной.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 14-Апр-23 08:44 
> 1. Гуй нужен для людей, а не для роботов. В топку ваш
> парсинг портянок портянками.

А таки этот гражданин ничего не понял в мощи юниксвэя... зря, так то очень мощный концепт, позволяющий БЫСТРО автоматизировать рутину. В лучшем случае однострочником по месту.

> 2. Для роботов куда удобнее парсить и формировать xml или json. Опять
> таки, в топку ваши невменяемые текстовые портянки с парсингом ради парсинга.

Ну да, XML и JSON вменяемые. Осталось найти софт готовый в результате получить на вход произвольно скроенную XML или JSON без всяких забавных спецэффектов. Парсинг пайплайна как текста может выйти даже надежнее - в силу примитивности и значительно более скромного количества допущений. Это правда совсем не значит что шеллом безопасно парсить недоверяемые данные, но это и вон тех касается. Еще хуже пожалуй.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноньимъ , 14-Апр-23 17:50 
> А таки этот гражданин ничего не понял в мощи юниксвэя... зря, так

Нет никакой мощи юниксвея это миф. Юниксвей - оправдание технологической ущербности.

> то очень мощный концепт, позволяющий БЫСТРО автоматизировать рутину. В лучшем случае
> однострочником по месту.

Видел я ваши однострочники портянок на тысячи строк.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 15-Апр-23 11:23 
> Нет никакой мощи юниксвея это миф. Юниксвей - оправдание технологической ущербности.

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

> Видел я ваши однострочники портянок на тысячи строк.

Это как? Однострочник по определению то что в 1 строку влезло. Если больше, это уже утрачивает звание однострочника.

Ну или вон например, я на баше накидал тупенький но эффективный классификатор. Смотри, у юзера умер винч и ФС. Там не было бэкапа на пару лет фоточек и видео, так что они были позарез нужны назад. Ну как умер, стандартно оттуда уже ничего не читалось, бэдсекторы в куче мест, файлуха угрохана попытками починок просто в хлам. Но снять образ спецтулами - реально. А потом photorec вполне себе находит ... примерно 400 000 фоточек и видиков. И как среди них нужные, спрашивается, найти?! Ну я взял да запустил ffprobe на это все и в башскрипте искал вполне конкретный тег даты, с конкретными годами. Накодить его заняло минут 5. Через еще 5 минут вджоба скрипт культурно разложил мувики и фоточки за нужные годы и даже переименовал файлы в адекватные имена. При том это - как пример конкретной разовой задачи где довольно большой объем лопатинга данных был шустро спихан на комп, который за 5 минут расклассифицировал файло на интересное и не очень среди 400К файлов и даже вирнул файлам утраченые имена (файлуха же померла, вместе с именами).

А вот как бы такой финт в гуе смотрелся, черт его знает. Даже если на энную задачу найдется программа, на соседнюю чуть поменяется критерий уже нет. Я сменю в скрипте критерий да пущу его еще раз. И он по соввсем иному критерию выцепит, переименует или что там. А в гуе это все как делать? И да, это тоже взаимодействие человека с машиной. Просто продвинутое, с прицелом на совсем другие уровни эффективности взаимодействия чем у виндового мышевозилы.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 14-Апр-23 22:31 
> Парсинг пайплайна как текста может выйти даже надежнее - в силу примитивности и значительно более скромного количества допущений.

Пайп ортогонален json'у. Никто не мешает читать из пайпа json и парсить его. Ах, увы, bash не умеет, надо внешние утилиты подключать. Юниксвей сакс.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 15-Апр-23 11:27 
> Пайп ортогонален json'у. Никто не мешает читать из пайпа json и парсить
> его. Ах, увы, bash не умеет, надо внешние утилиты подключать.

JSON вообще крайне мало кто может спарсить корректно в его сложном виле

> Юниксвей сакс.

А мне нормалек. И в гробу я ваш json видал, парщиво что для человека, что для машины. Хотя XML по этому критерию так то еще хуже будет. Да, вы представляете, на уровне машины JSON парсить ничем таким не хорошо. А XML так вообще крындец, если со ВСЕМИ спеками. Типа XSLT какого-нибудь (кто про него вообще помнит, но так можно было и формально если кто его не умеет, спеки не полностью реализованы, лол).

И кстати XSLT был явно изобретен Капитаном НеОчевидностью. Потому что нормальному человеку врубиться в то как это работает вообще без поллитры не реально.

А так все просто, не нравится не пользуйтесь. Посмотрим кто кого по эффективности.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 12:07 
Намного, несравнимо проще. Пишешь какие хочешь desktop файлы и они довольно гибкие, расширяешь функциональность DE совершенно бесплатно. Отличия в логике скриптов минимальны, вместо echo в консоль пишешь отправить уведомление в DE при необходимости. Многий софт уже изначально интегрируется в DE. Нужно совсем минимум опыта, чтобы делать универсальные интеграции для ПО, которое будет работать и из консоли и из гуя. Я использую для форматированного вывода информации xterm с консольным браузером и веб-страница позволяет показать информацию намного доходчивее, чем неформатированный выхлоп в эмулятор терминала. А вот TUI расширять это боль ещё та.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 14:30 
Врёшь. А потому скушно. Уведомления ломаются и скрипты долго не живут. Шины меняют...

Неопытный ты.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 14:33 
P.S. Покажи репо с твоим кодом скриптов для GUI...

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 11:12 
А если жить в бункере на дне Марианской впадины будет ещё безопаснее.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 12:25 
> А если жить в бункере на дне Марианской впадины будет ещё безопаснее.

Этого гражданина в безопасники не брать, о том какое давленеи на глубине 11 километров он явно не в курсе был. Или чрезмерно уверен в своих скиллах в сопромате.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 19:57 
Бункеры просто надо нормальные строить и не будет там никакого давления.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 14-Апр-23 09:01 
> Бункеры просто надо нормальные строить и не будет там никакого давления.

Ага. Держащие 1100 килограмм на квадратный сантиметр. Чувак, это больше ТОННЫ на каждый квадратный сантиметр. Сие несколько превышает то с чем готова столкнуться стандартная инженерия бункеров и инженерных систем. Проще базу на Марсе отстроить чем это.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 14-Апр-23 10:31 
Я и говорю в хорошем бункере и от апокалипсиса укрываться приятно. А Марс это фейк Маска зачем туда лететь.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 14-Апр-23 20:59 
> Я и говорю в хорошем бункере и от апокалипсиса укрываться приятно.

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

> А Марс это фейк Маска зачем туда лететь.

Если мне дать анлимно ресурсов, я предпочту на марсе базу строить, посчитав более реализуемым проектом. Просто потому что строительство в условиях вон того давления это сильно отдельный квест. Более сложный чем строительство в космосе и на поверхности марса. В космосе и на марсе оборудованию и материалам не надо переживать перепад с 1 до 1100 атмосфер, чего доброго еще и несколько раз. Да еще в соленой воде, что крайне плохо для электрики, любая трещинка изоляции ведет к факапу. На марсе электрику не замкнет из-за мизерной трещинки в изоляции. А даже если вдруг - можно попытаться починить. Куда менее рисково чем то же самое но в соленой водичке от и до. И даже какой-нибудь цемент будет относительно нормально работать, а если повезет то удастся на месте делать что-то такое, по технологиям не сильно далеким от существующих земных.

А вот оборудование которое может работать в условиях 1 <-> 1100 атмосфер это такая очень отдельаня штука. Малейшая ошибка в дизайне - и мало что удержит дельту в 1100 атмосфер. Значит при доставке оборудование будет испорчено.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 20:06 
А что не так с давлением? Как известно, подведение кислорода и отведение углекислого газа можно реализовать циркуляцией в лёгких специальной жидкости. Жидкости несжимаемые (на дне Марианской впадины вода сжата всего на пару процентов), значит, особых проблем с циркуляцией не будет. Да, дышать -водой- спецжидкостью тяжело в силу её высокой плотности, чреватой разрывом лёгких, и слабости соответствующих мышц, но это можно решить насосами. Остальное же тело человека ничем не отличается от рыбы в плане сжимаемости, даже комбинезон не нужен (на самом деле нужен, вместо жировой одежды морских теплокровных, но это не от давления, а чтоб не переохладиться)...

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено ryoken , 14-Апр-23 07:54 
Сразу вспомнился фантастический фильм Abyss, на таком принципе там оборудование для сверхглубоководных исследований разработали. (Фонарь лопнул от давления, а человечина всё опускалась на дно :) )

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 14-Апр-23 09:00 
> А что не так с давлением?

Всего 1100 атмосфер примерно. Покруче чем жить в трубопроводе высокого давления. Скорее, в гидравлическом прессе.

> Как известно, подведение кислорода и отведение углекислого газа можно реализовать
> циркуляцией в лёгких специальной жидкости. Жидкости несжимаемые (на дне Марианской
> впадины вода сжата всего на пару процентов),

Вы на поверхности под давлением 1 атмосферу. И стало быть кроме вон того издевательства вам надо будет пережить еще и просто transient в 1100 атмосфер чтобы уравнять давление в абсолютно всех закоулках вашего тела. В паре с переходом на дыхание жидкостью в какой-то момент в середине этого пути это уже звучит довольно безопасно, что может пойти не так?!

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

Насосы vs безопасно подразумевают что у вас есть чем их питать автономно. Вечные батарейки у вас уже есть? На глубине 11 000 метров с электричеством если что "не очень", подводные кабели на такие глубины не кладут, а генерить в таких условиях по практически всем технологиям... я лучше подпишусь энергоснабжение на Марсе нарулить, это проще.

> Остальное же тело человека ничем не отличается от рыбы в плане сжимаемости,
> даже комбинезон не нужен (на самом деле нужен, вместо жировой одежды морских
> теплокровных, но это не от давления, а чтоб не переохладиться)...

При том чтобы не переохладиться этому ихтиандру еще и обогрев понадобится. И там темно как у <афтоамериканца> в <боту не нравятся эти слова>. Значит без электричества вообще ловить нечего. А электричество да в соленой водичке тоже так то безопасно смотрится. Как вы вообще обслуживать залитые соленой водой инженерные системы вознамерились? А без них вы сколько протянете?

По-моему экскурсия на Марс сильно безопаснее. Там по крайней мере условия более человеческие и энергоснабжение нарулить проще и вас не зашибет электричеством при малейшей трещинке в изоляции.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 14-Апр-23 10:35 
Ты забыл про космическую радиацию.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 14-Апр-23 21:07 
> Ты забыл про космическую радиацию.

Она может быть не настолько страшным фактором как ее малюют и есть хоть какие-то варианты что с этим делать. При этом для конструкционнных работ можно в целом более-менее реюзнуть относительно похожие на земные технологии. А вот строить что-то на 11 километровой глубине... там почти все технологии и оборудование придется с ноля переделывать под эту специфику.

Вы же не построите оборудование сразу на глубине 11 км? Значит появляется требование что это должно переживать транзиент с 1 атмосферы до 1100. Любая полость, трубочка с воздухом или что там - и это порвет и сплющит при спуске на глубину. А всего пара оторваных трубочек или проводков может сделать здоровую машину полностью бесполезной. И вы останетесь без оборудования. Сушествующее оборудование в принципе не создано чтобы переживать такие вещи. Это значительно более злые требования чем допустим в космосе, где самое плохое что может случиться это дельта в одну атмосферу, это разница от земной атмосферы до вакуума. В 1100 раз меньше напрягов для материлов. Мелочи какие.

Поэтому про безопасность на дне марианской впадины кмк тот анонимус чуток погорячился. Во всяком случае я бы посмотрел на безопасное строительство и оперирование такого объекта...


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено AHOHNM , 14-Апр-23 19:48 
Ой, а вот встроенная в человека система авто-очистки лёгких нифига не рассчитана на жидкость вместо воздуха. Здравствуй, пневмония.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 17:05 
Ты ещё шнур питания предложи вытащить из системного блока.

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

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 10:45 
У тебя лапки? - тут баг в реализации, а не стандарте.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 11:11 
Вот только не надо эту чушь писать когда все сразу взяли и реализовали как в стандарте написано.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 11:16 
Кто все? Там список из одного пункта - Гхостскрипт.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 11:24 
Так никого больше и нет. А символы обрабатываются строго по страндарту. Потому что просто кто-то забыл сделать правильный стандарт.  

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 11:57 
> когда все сразу взяли и реализовали как в стандарте написано.

Ты приведешь ссылку на соответствующий параграф в стандарте, или как обычно?


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 14-Апр-23 10:38 
То что стандарт не описал порядок обработки байтов это недоработка стандарта, а специально это сделано или случайно? Из двух зол выбирают что специально. Можешь убедиться в этом почитав стандарт.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 14-Апр-23 13:13 
Напомню, что в новости говориться о выходе за пределы буфера. Ты утверждаешь, что это "уязвимость на уровне стандарта" и "в стандарте написано".

Ну так не будь пустозвоном, и приведи цитату из стандарта, где написано вылазить за пределы буфера.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено pashev.ru , 13-Апр-23 10:33 
> Например, Ghostscript вызывается в процессе создания миниатюр на рабочем столе

Хрень évince-чего-то-там ещё и жрала память как не в себя. Отключил, запретил обновлять. Клоуны.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Енот Берт , 19-Апр-23 23:25 
в LTS-версиях Ubuntu, нет сырых обнов, там и по сей день апдейты несут только
ghostscript 9.55.0

а дыры в свежих версиях ghostscript 10.x.x, в этом и смысл. Привет любителям роллинг-релизов и прочего Arch.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 11:12 
А есть вообще дистрибутивы без этого добра, кроме генту?

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 11:46 
А разве есть что то кроме генту?! Кто эти люди сидящие не на генту?!

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено kawaii_Аноним , 13-Апр-23 14:11 
Люди с личной жизнью.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 15:11 
Ох уж эти единоличники.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 14:27 
В дебиане, установленного через netinstall.iso, c установкой пакетов с --no-install-recommends этого ghostscript нет...

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 14-Апр-23 09:07 
apt-cache policy libgs9

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Анонимусс , 13-Апр-23 11:43 
Ахаха, лучшие погромисты опять запутались в вычислении размера

+  if (pw->limit - q < 2) {
+      p--;
+      break;
+  }

Мегафикс радует как всегда.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 12:22 
Тебе напомнить кто знаки "меньше" и "больше" путает?

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Чукча , 16-Апр-23 16:17 
Да, напомните, пожалуйста.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 12:27 
> Мегафикс радует как всегда.

Хороший пример как не надо писать код. При том не только на си но и вообще.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Иваня , 13-Апр-23 12:57 
А что не так???

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 14:47 
Выглядит подпоркой.

А именно: в коде была нелогичность, отклонение от цели - ошибка. Вместо исправления ошибки написанием кода, чтобы не было ненужного результата совсем, вставлен код реагирующий на ненужное. При этом ненужное всё равно оставлено. Так выглядит.

Впрочем, так делали давно. См. у Стивена Леви, Хакеры, герои компьютерной революции - программа, исправляющая ошибки в программе. Но это не самый высокий класс.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 19:30 
в новости говорится о "символах" и о "байтах". Конечно, если все символы однобайтовые, то может и сойдёт. Но как там обрабатываются тексты в какой-нибудь кодировке UTF-8, где размер одного символа плавает от 1 до 4 байт? Может, конечно, такое кодируют во что-то типа Base-64 и там реально всё только однобайтовое.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено InuYasha , 15-Апр-23 13:08 
MBCS пытались стандартизировать ещё в 90ых. И даже дефайны какие-то придумали. Но проверять вот это вот всё - реально лень. Я тоже пишу код под ANSI или средствами платформы, которым всё равно на кодировку. Но вообще - строки это всегда боль.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Анонин , 13-Апр-23 12:34 
Офигенная закладка!
Изначальный код был добавлен 2015-07-20. После этого было пару коммитов со сменой дат и всё))
Целых семь лет с оценкой 10 из 10! Да еще единой реализацией практически во всех линуксах.
И с готовым прототип эксплоита. А самое главное - фиг докажешь что не закладка.
Прям мечта майора Джона))

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 12:42 
> Офигенная закладка!
> фиг докажешь что не закладка.

Ясно, понятно...


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 15:13 
> Офигенная закладка!

А ты не допускаешь, что это просто сишники обделались в миллиардпервый раз?


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 15:18 
sed 's/сишники/people/g'

Обычная тема, зачем нужна автоматизация - снижение % брака.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 15:44 
Ты ж понимаешь что и то, и другое нефальсифицируемо.
Могли сишники обделаться как обычно, а могли замаскировать злой умысел под это.
И после всяких призм и тд простой бритовой не обойдешься.

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

Вот если бы такие ошибки в си были бы редкостью... но не будем мечтать о невозможном.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 14-Апр-23 09:04 
Обделаться не может только тот, кто ничего не делает.
Учитывая количество софта на сях в сравнении со всяким хипстерьём - ну, вы поняли.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 14-Апр-23 13:07 
> Обделаться не может только тот, кто ничего не делает.

Или тот, который использует недоязык и не делает выводов, из года в год наступая на те же грабли.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 14-Апр-23 13:27 
Это те, кто уже прошли путь от рубей до хруста?

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 14-Апр-23 13:09 
> Учитывая количество софта на сях

Осталось понять, где связь с количеством софта на сях и конкретно этим багом.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено fidoman , 14-Апр-23 15:10 
Сишники с рождения, как вы выражаетесь, "обделанные" - даже в стандартной библиотеке не смогли сами с собой договориться, нужен \0 в конце строки или нет.
strncpy vs strncat

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 14-Апр-23 15:29 
Не видишь логики в strncpy?
Сочувствую.
-> на гошечку

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 14-Апр-23 16:49 
> Сочувствую

А ты видишь логику в том, что strncpy при определенных условиях не добавляет ноль? Расскажи, было бы интересно почитать.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 15-Апр-23 09:23 
> А ты видишь логику в том, что strncpy при определенных условиях не
> добавляет ноль? Расскажи, было бы интересно почитать.

Ладно, так и быть.

Есть у тебя "Black cat went up the alley".
Тебе надо "cat" на "dog" заменить, имея поинтер.
Как считаешь, если strncpy будет всегда \0 добавлять - получится?


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 15-Апр-23 12:10 
В таком случае ты бы пользовался memcpy().

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 15-Апр-23 12:36 
Немножко семантически криво получится, не так ли?

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 15-Апр-23 12:44 
Да нет, это как раз прямо выразит твои намерения.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 15-Апр-23 09:29 
Теперь второй пример. У тебя есть "I am a f****ng rUST programmer"
Нам бы надо заменить "programmer" на "fanatic", но следов от него в виде "er" - не оставлять.
Как считаешь, справится strncpy с задачей?

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 15-Апр-23 12:29 
> Как считаешь, справится strncpy с задачей?

Может справится, а может и нет - в зависимости от того, как ты напишешь вызов. Приведи пример кода.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 15-Апр-23 14:45 
Неправильный ответ.
Правильный ответ - справится. И даже нулями забьёт лишнее, как и договаривались.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 15-Апр-23 14:50 
Это правильный ответ. Ты можешь ошибиться с вызовом strncpy так же, как и сотни тысяч людей до тебя. Поэтому приведи пример вызова для этой задачи - вот тогда и посмотрим.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 15-Апр-23 09:30 
А теперь объясняю логику.

strncpy реально работает с терминатором (и переменной длиной) _только_ в src.
dst при этом является "сырым буфером", и \0 в src для strncpy - всего лишь символ, указывающий, что с src пора завязывать.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 15-Апр-23 12:42 
То, что ты объяснил - это не логика, а нелепо спроектированное поведение, с которым запросто можно выстрелить себе в ногу и получить ровно то, о чем говорится в новости.

Даже man рекомендует использовать вместо него нестандартный strlcpy.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 15-Апр-23 14:37 
Для тебя - нелепо, мне - норм. И выстрелить себе в ногу там не так просто, если вовремя написания мозг включать, конечно же.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 15-Апр-23 14:37 
- во время -

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 15-Апр-23 14:41 
Основные выстрелы в ногу встречаются как раз не там.
Основные выстрелы в ногу встречаются там, где забыли проверку длин этих самых буферов или в ней накосячили.
С увеличением числа излишне высокоуровневых лепил, которые забывают, что машине фиолетово, сколько ты там куда запишешь - ты сам должен думать об этом, число таких выстрелов будет неизбежно расти.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 15-Апр-23 15:05 
> С увеличением числа излишне высокоуровневых лепил

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


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 15-Апр-23 17:33 
> инТСРУментами.

Так и запишем, не допускают ошибок.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 15-Апр-23 17:33 
Так и запишем, не допускают ошибок. Адекватными, простите, чем - и что вы с ними делаете?


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено fidoman , 14-Апр-23 20:16 
посочуствуй ещё, чувствительный наш.
в strncpy логику нашли, давай искать в strncat

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 14-Апр-23 22:22 
А с strncat-то что у тебя?

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено fidoman , 15-Апр-23 06:53 
Вот уж действительно, показательный пример.
Человек, который сам не может банально прочитать доку и увидеть разницу в поведении двух функций (причём на которую было указано изначально) советует другим "идти в гошечку".
Слепая любовь, что тут ещё сказать.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 15-Апр-23 09:13 
Хосспаде, родной, тебя смущает разница в поведении вызовов? RTFM.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 15-Апр-23 09:14 
И в том, и в другом поведении есть своя логика.
Но любителям зачёсывать и круглое и треугольное под квадратное - да, мимо.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено fidoman , 15-Апр-23 19:04 
> И в том, и в другом поведении есть своя логика.
> Но любителям зачёсывать и круглое и треугольное под квадратное - да, мимо.

Да, я люблю, когда функции именуются правильно, чтобы название отражало суть, а не так вот "наот====сь".


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 16-Апр-23 10:55 
Люби, кто тебе мешает.
Просто не лезь туда, где тебе не понятно.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 15-Апр-23 09:34 
strncat используется для объединения двух строк переменной длины с терминатором, он выполняет предварительный поиск терминатора в dst, чтобы понять, куда добавлять. И src и dst трактуются как терминированные строки, поэтому и на выходе - терминированная строка.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено fidoman , 15-Апр-23 19:02 
Всё это написано в учебнике. Только пишут ли там про то, что ты сам должен просчитать пространство для результирующей строки?
И в процессе этого рассчёта получаешь значение, которое делает конкретно *cat функцию избыточной.
Ну а если делать strncat наобум - то всё это заканчивается выходом за пределы буфера.

Если выделяешь новый буфер, нужно два strlen, и потом можно сделать просто два memcpy. strncat не нужен.

Если дописываешь в первую строку, надо делать strlen, чтобы определить сколько вообще места осталось.
И опять-таки можно использовать strncpy на буфер+длину из первого вызова - снова strncat не нужен.

В общем, по всем фронтам лишняя функция. Ну а если использовать её наобум - получится очередной gets.
Либо тупо заводить буфер размером максимальная длина строки*количество складываемых строк.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 16-Апр-23 10:56 
> И в процессе этого рассчёта получаешь значение, которое делает конкретно *cat функцию
> избыточной.

Расчёта.
Кроме того, буферы могут быть фиксированной длины - если допускается обрезка результата. Тогда ничего считать не надо. Либо длина заранее известна. И тогда тоже ничего считать не надо.
Но да, высокоуровневые япшечки от тебя всё это скрывают, поэтому ты даже не предполагаешь наличия таких вариантов.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено fidoman , 15-Апр-23 19:31 
> strncat используется для объединения двух строк переменной длины с терминатором, он выполняет
> предварительный поиск терминатора в dst, чтобы понять, куда добавлять. И src
> и dst трактуются как терминированные строки, поэтому и на выходе -
> терминированная строка.

А у strncpy трактуются как-то по-другому?


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 16-Апр-23 10:51 
Внезапно да. RTFM, не вижу смысла в слепоглухонемом споре.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено fidoman , 16-Апр-23 12:28 
> Внезапно да. RTFM, не вижу смысла в слепоглухонемом споре.

Вот уж действительно, спорить о C с человеком, который чуть что сбегает в PHP...


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 16-Апр-23 14:21 
Если мне нужен свервысокий уровень - я бегу в PHP.
Если мне нужно очень быстро и с памятью - я беру C или плюсы.
Если нужна серебряная пуля - я тащу в PHP тот самый модуль на сях.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 16-Апр-23 14:23 
(к счастью, пых изначально делался заматеревшими гошниками, и притащить туда то, что тебе нужно на подложке - вопрос пары часов)

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 16-Апр-23 14:24 
Тьфу блин, гошниками, сишниками.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 16-Апр-23 14:22 
Пытаться делать ВСЁ на одной моднявке (привет гошечка), даже то, для чего она не приспособлена - ну такое.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено fidoman , 16-Апр-23 15:04 
Ну так не делай. Только это очень странно, не пользоваться и при этом нахваливать, а тем, кто пользуется заявлять что это "не их".

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 16-Апр-23 13:12 
Ага, тот самый мануал, который советует использовать strlcpy именно из-за упоротого поведения strncpy. Но опеннетным экспертам не страшно - они-то все понимают, на асме строками ворочали...

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 16-Апр-23 14:13 
В каком стандарте у нас есть strlcpy?
Без BSD_SOURCE везде соберётся?
Што нащёт визуал студии?

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 15-Апр-23 09:35 
Всю эту сишную логику можно понять только после того, как ты на асме занимался строковыми операциями.
Если глубже высокоуровневых примитивов мышление не заглядывало, да - логику увидеть бывает сложновато.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 15-Апр-23 13:55 
Какой-то стокгольмский синдром по отношнию к недотехнологиям. Смешно, как у некоторых сишников подгорает от того, что кто-то может просто сложить две строки плюсиком - не роняя память, не ошибаясь с размером буфера, не вылазя за его пределы.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 15-Апр-23 14:20 
Ты с трудом понимаешь, что такое "буфер", отсюда и вот это вот недоразумение.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 15-Апр-23 14:35 
Чтобы две строки "плюсиком" сложить в разных этих вот всяких тебе придётся целую аллокацию нового буфера насиловать. Когда у тебя набуизнесс-логика, которая может полчаса ворочаться при сложении трёх томов войны и мира - да, дело одно. А когда у тебя системная подложка, которая вынуждена работать быстро, иначе ты вместо полчаса три часа получишь - дело другое.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 15-Апр-23 15:01 
А чтобы сложить в сях "не плюсиком", аллокацию типа не надо делать?

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено fidoman , 15-Апр-23 18:29 
> А чтобы сложить в сях "не плюсиком", аллокацию типа не надо делать?

У каждого сишника есть свой набор нормальных функций работы со строками)
В конечном счёте приходишь к структу в котором лежит размер буфера, текущая длина и сама строка... может и что-то ещё по вкусу.
Потому что если если не держать это в структе придётся держать где-то отдельно.
А если это всё не делать, получится очередной gets


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 16-Апр-23 10:52 
Если у тебя буфер целевой строки превышает по размеру обе-двое - зачем?

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 16-Апр-23 13:04 
А буфер целевой строки аллоцировать не надо? Речь о сложении, а не о добавлении к существующей.

Но даже если говорить о сложении: ты же в курсе, что во всех нормальных языках строковый буфер действительно аллоцируется размером чуть больше, чем необходимо - как раз для описываемой тобой ситуации. Плюс еще есть оптимизация коротких строк.

А в сишечных str*() - шишь. Считай размер ручками, аллоцируй/удаляй ручками, дергай strlen на каждый чих (производительность, да) - и смотри не обделайся. Абстракции для дураков ведь. А сишечка лучше мерзкого Раста, ага.

Вобщем, эта дискуссия вполне закономерно превратилась в цирк.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 16-Апр-23 14:16 
Если мне из всех строк нужна только сложенная и размер dst позволяет - зачем мне третий буфер? Мне заняться нечем?

Ну и да, ся - оно такое. Дёргай много чего сам, как тебе нужно, а не как за тебя очередная хипстота решила. Цирк - это когда жаваскриптеры в си лезут.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 16-Апр-23 14:18 
На входе мне пришли допустим 6 строк, ага. Длины уже известны.
Мне их надо в одну сложить частями. На каждое сложение отдельную аллокацию делать? Смешные.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 16-Апр-23 14:18 
(ключевые заголовки SIP разбираем, ага)

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено fidoman , 15-Апр-23 18:23 
Дадад, эту логику могут понять только избранные.
Нельзя просто сказать - не додумали, ошиблись?
Гордость не позволяет? Или просто понты от глупости?
strncat, кстати, вообще в целом бесполезная функция - прежде чем её вызывать, надо знать, сколько у тебя уже есть строки в буфере, чтобы посчитать, сколько можно дописать - а если ты эту длину знаешь, смысл какой-то cat делать если можно просто эту длину к указателю добавить.
И что касается ассемблера, на RISC архитектурах (где регистров до жопы и нет проблем выделить один под счётчик) сишные строки теряют все свои преимущества перед паскаль-стайл.

Вообще вся stdlib всратая, даже сраный popen чтоб был без шелл прокладки и с нормальной передачей аргументов приходится копировать хрен знает откуда и фиксить чтобы оно нормально работало.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 16-Апр-23 10:53 
> Нельзя просто сказать - не додумали, ошиблись?

Нельзя. Потому что никто не ошибался, просто ты отказываешься понимать смысл работы.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 16-Апр-23 10:58 
> Вообще вся stdlib всратая

Вот с этого и надо было начинать. C - не твоё :D
Делай как я - выбирай дуализм. Для высокоуровневого - PHP, он как раз всё это обвязывает и скрывает много тонкостей. А вот критичные и системные участки - на C.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 16-Апр-23 11:01 
(естественно именно в похапэ тебя никто силком не тащит, щито угодно. мой выбор основан на схожести кода, не требуется какой-либо зубодробительный синтаксис очередной однодневки изучать. да, с названиями там такая же жесть, как и в сях)

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено fidoman , 14-Апр-23 12:31 
Ну так надо что-то регулярно портить и героически исправлять. Иначе скажут проект мёртв и грохнут репу.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 12:40 
Это ж кто же мог подумать что с си бывают экранировнные символы и они занимают целых два симовола!
Наверное нужно быть синьйором с 30+летним опытом написание на си чтобы знать этот ньюанс!

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено annonn , 13-Апр-23 13:11 
но-но! не приуменьшай их способности: зато они знают 14 вариантов инициализации!
и 5 способов каста к void* для самой быстрой порчи памяти!

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 13:21 
Это с++ники знают. С си все более уныло.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено penetrator , 13-Апр-23 14:16 
погодите а UTF8, UTF16 отменили? там же изначально по несколько байт на символ

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 14:48 
Скорее что: применили слишком недавно...

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 17:07 
Ну как бы clang предупреждает о них. А кто пользуется gcc - тот сам себе злобный буратино.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 17:15 
Шланг явно что-то знал.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Бывалый смузихлёб , 14-Апр-23 09:27 
Но гнутый ни в чём не виноват.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 15-Апр-23 11:03 
> Ну как бы clang предупреждает о них. А кто пользуется gcc -
> тот сам себе злобный буратино.

Современные gcc и clang выдают примерно одинаковые предупреждения, не надо сказок. Проблема с сями в том что есть ряд случаев когда статический анализ не поймает некоторые вещи.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 17:02 
ghostscript - это традиционный уязвимостейдром. Его не починить, только выкинуть. Благо, что есть pdfbox без сишных дыреней. Чтобы не выкидывать весь софт, зависящий шт GhostScript, нужно сделать совместимое API, но чтобы под капотом был или pdfbox, или что-нибудь на расте, или pdf.js, или проприетарный Foxit.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 17:15 
Всё что ты назвал ещё хуже.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 17:19 
>— Чем же хуже?
>— Чем GhostScript.

Ясно.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 17:20 
> или проприетарный Foxit

Скажешь тоже! Там багов ещё больше, если целенаправленно покопаться, поскольку разрабатывают его китайцы, если кто не знал. https://en.wikipedia.org/wiki/Foxit_Software

Обработчиков PDF вообще не существует идеальных, слишком уж сложна реализация всех фич. Но чем популярнее решение, тем пристальнее в нём будут искать и исправлять баги. Так что, Ghostscript ещё очень неплох, если сравнивать с альтернативами.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 17:28 
>поскольку разрабатывают его китайцы, если кто не знал. https://en.wikipedia.org/wiki/Foxit_Software

Китайцы-не китайцы, но это лучшая реализация PDF из известных, даже гугл у них лицензирует для своего хрома. При этом компания зародилась и поднялась тогда, когда вставлять бэкдоры было позорным. Я подозреваю, что эта компания срать себе в карму не будет. Уязвимости в фоксите обычно в JS-API. Отключи JS и спи спокойно.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 17:28 
P.S. в mupdf JS вообще неотключаем.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 22:03 
> P.S. в mupdf JS вообще неотключаем.

Ну-ну
% pkg options mupdf
mupdf - DOCS: on
mupdf - JS: off
mupdf - SCROLL: on


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 14-Апр-23 10:40 
Ага безопасность закрыть глаза и не видеть опасности. Удалить антивирус и говорить что у тебя нет вирусов. Использовать проприетарный продукт который невозможно проверить и говорить как же там все безопасно просто смешно.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 15-Апр-23 09:21 
Существует. Адобовский. Идеальнее не бывает, потому что это собственно разработчики формата :D

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 18:30 
> ********** вызывается в процессе создания миниатюр на рабочем столе, при фоновой индексации данных и при преобразовании изображений. Для успешной атаки во многих случаях достаточно просто загрузить файл с эксплоитом или просмотреть каталог с ним в Nautilus.

Это относится ко всем графическим либам.
А разрабам десктопов сколько не говори так не делать, а они все равно иконки рисуют на основе содержимого.
О безопасности в этом месте не думает ги один десктоп.


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 13-Апр-23 20:21 
C in CVE stands for C language!

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 14-Апр-23 09:37 
Можно ли отключить Ghostscript в Nautilus?

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Аноним , 14-Апр-23 09:50 
"Уязвимости присвоен максимальный уровень опасности (10 из 10)"

Red Hat:
Priority:    medium
Severity:    medium
:)


"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено InuYasha , 15-Апр-23 13:44 
Вероятность ошибки растёт со сложностью системы. Сложность PS просто зашкаливает.

"Уязвимость в Ghostscript, приводящая к выполнению кода злоум..."
Отправлено Tron is Whistling , 15-Апр-23 14:21 
Ничего, сейчас всё на хрусте перепишут. Поддерживать будет 0.1% от спецификации, при этом жрать в 10 раз больше памяти и работать в 10 раз медленнее, но зато безопасТно.