The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

13.04.2023 10:11

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

Проблема вызвана переполнением буфера при обработке определённых конструкций, которое может привести к повреждению внутренних структур в интерпретаторе PostScript. Переполнение проявляется в обработчиках BCPEncode, BCPDecode, TBCPEncode и TBCPDecode, в случае, когда буфер записи недозаполнен на один байт и следом выполняется запись экранированного символа, занимающего два байта вместо одного. Для демонстрации возможности совершения атаки подготовлен рабочий прототип эксплоита.

Уязвимости присвоен критический уровень опасности (9.8 из 10) так как Ghostscript используется во многих популярных приложениях для обработки форматов PostScript и PDF. Например, Ghostscript вызывается в процессе создания миниатюр на рабочем столе, при фоновой индексации данных и при преобразовании изображений. Для успешной атаки во многих случаях достаточно просто загрузить файл с эксплоитом или просмотреть каталог с ним в Nautilus. Уязвимости в Ghostscript также можно эксплуатировать через обработчики изображений на базе пакетов ImageMagick и GraphicsMagick, передав в них JPEG или PNG-файл, в котором вместо картинки находится код PostScript (такой файл будет обработан в Ghostscript, так как MIME-тип распознаётся по содержимому, а не полагаясь на расширение).

  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: Уязвимость в Ghostscript, эксплуатируемая через ImageMagick
  3. OpenNews: Уязвимость в Ghostscript, позволяющая выполнить код при открытии PostScript-документа
  4. OpenNews: Очередные 4 уязвимости в Ghostscript
  5. OpenNews: Новая уязвимость в Ghostscript
  6. OpenNews: Очередные критические уязвимости в Ghostscript
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/58965-ghostscript
Ключевые слова: ghostscript
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (156) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 10:21, 13/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    А куда бы вы встроили уязвимость, чтобы получить максимальный эфеект?
     
     
  • 2.4, Аноним (4), 10:21, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    В IME
     
  • 2.5, Аноним (5), 10:25, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    В поле для комментариев.
    Чтобы по ключевым словам и выражениям сразу нафик с пляжа.
     
  • 2.17, Tron is Whistling (?), 11:56, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Очевидно же. В CPU.
     
     
  • 3.18, Tron is Whistling (?), 11:56, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    (Meltdown не даст соврать)
     
     
  • 4.23, Аноним (23), 12:24, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > (Meltdown не даст соврать)

    ME тоже :)

     
     
  • 5.61, Аноним (61), 19:58, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Перейдут на арм.
     
     
  • 6.66, Аноним (-), 21:43, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Перейдут на арм.

    Получится PSP.

     
  • 2.79, ptr (??), 10:20, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    EFI
     

  • 1.2, Аноним (2), 10:21, 13/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Ghostscript вызывается в процессе создания миниатюр на рабочем столе

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

     
     
  • 2.9, Аноним (9), 11:12, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Чё ты там забыл, в той консоли? В гуйне намного удобнее организовывать данные, оперировать ими, можно смазать скриптами опять же.
     
     
  • 3.16, Аноним (16), 11:55, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Интеграция приложений в GUI гораздо сложнее, чем у текстовых. Поэтому в GUI меньше возможностей. Или гораздо труднее сделать нужное.
     
     
  • 4.20, Аноним (20), 12:07, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Например?
     
     
  • 5.36, Аноним (16), 14:29, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В терминале софт отдаёт текст, а BusyBox, CoreUtils и т.д. хорошо умеют в тексте найти нужное.

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

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

     
     
  • 6.57, Аноньимъ (ok), 17:43, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >ответ легко разобрать автоматически и в ответ отдать скриптом др. команду

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

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

     
     
  • 7.64, Аноним (64), 20:46, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если код писать не дано или не научили, то - да. Роботов писать - это писать код.

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

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

     
     
  • 8.68, Аноньимъ (ok), 01:32, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    ГУЙ нужен для взаимодействия с ЧЕЛОВЕКОМ, а не для интеграции приложений Для ин... текст свёрнут, показать
     
     
  • 9.70, Аноним (-), 08:38, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    У гуя проблема в том что автоматизировать в нем действия крайне сложно и неудобн... текст свёрнут, показать
     
     
  • 10.92, Аноним (9), 15:38, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты не прав, есть куча решений для автоматизации гуя, в том числе и для линукса ... текст свёрнут, показать
     
     
  • 11.93, Аноним (93), 16:11, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Пример есть Git, статья - посмотреть на код Какую книгу читать Не GUI автомат... текст свёрнут, показать
     
     
  • 12.95, Аноним (9), 17:02, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    https www google com search client firefox-b-d q gui automation tools Порядок ... большой текст свёрнут, показать
     
  • 10.97, Аноньимъ (ok), 17:53, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    1 Нет у гуя никакой проблемы автоматизации, ниже вам объяснили 2 Еще раз, для... текст свёрнут, показать
     
     
  • 11.115, Аноним (-), 11:11, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кроме того что там в РАЗЫ больше возни И не делается здесь и сейчас , одностро... большой текст свёрнут, показать
     
  • 7.71, Аноним (-), 08:44, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А таки этот гражданин ничего не понял в мощи юниксвэя зря, так то очень мощны... большой текст свёрнут, показать
     
     
  • 8.96, Аноньимъ (ok), 17:50, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нет никакой мощи юниксвея это миф Юниксвей - оправдание технологической ущербно... текст свёрнут, показать
     
     
  • 9.116, Аноним (-), 11:23, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вот те раз, а я этой мощью пользуюсь во всю и для меня это был повод с винды на ... большой текст свёрнут, показать
     
  • 8.103, Аноним (-), 22:31, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пайп ортогонален json у Никто не мешает читать из пайпа json и парсить его Ах,... текст свёрнут, показать
     
     
  • 9.117, Аноним (-), 11:27, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    JSON вообще крайне мало кто может спарсить корректно в его сложном виле А мне но... большой текст свёрнут, показать
     
  • 4.21, Аноним (9), 12:07, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Намного, несравнимо проще. Пишешь какие хочешь desktop файлы и они довольно гибкие, расширяешь функциональность DE совершенно бесплатно. Отличия в логике скриптов минимальны, вместо echo в консоль пишешь отправить уведомление в DE при необходимости. Многий софт уже изначально интегрируется в DE. Нужно совсем минимум опыта, чтобы делать универсальные интеграции для ПО, которое будет работать и из консоли и из гуя. Я использую для форматированного вывода информации xterm с консольным браузером и веб-страница позволяет показать информацию намного доходчивее, чем неформатированный выхлоп в эмулятор терминала. А вот TUI расширять это боль ещё та.
     
     
  • 5.37, Аноним (16), 14:30, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Врёшь. А потому скушно. Уведомления ломаются и скрипты долго не живут. Шины меняют...

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

     
     
  • 6.38, Аноним (16), 14:33, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    P.S. Покажи репо с твоим кодом скриптов для GUI...
     
  • 2.10, Аноним (4), 11:12, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А если жить в бункере на дне Марианской впадины будет ещё безопаснее.
     
     
  • 3.24, Аноним (23), 12:25, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А если жить в бункере на дне Марианской впадины будет ещё безопаснее.

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

     
     
  • 4.60, Аноним (61), 19:57, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Бункеры просто надо нормальные строить и не будет там никакого давления.
     
     
  • 5.73, Аноним (-), 09:01, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Бункеры просто надо нормальные строить и не будет там никакого давления.

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

     
     
  • 6.80, Аноним (80), 10:31, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я и говорю в хорошем бункере и от апокалипсиса укрываться приятно. А Марс это фейк Маска зачем туда лететь.
     
     
  • 7.100, Аноним (-), 20:59, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Для этого его сперва построить надо И при прочих равных, то что люди могут стро... большой текст свёрнут, показать
     
  • 4.62, Аноним (62), 20:06, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А что не так с давлением? Как известно, подведение кислорода и отведение углекислого газа можно реализовать циркуляцией в лёгких специальной жидкости. Жидкости несжимаемые (на дне Марианской впадины вода сжата всего на пару процентов), значит, особых проблем с циркуляцией не будет. Да, дышать -водой- спецжидкостью тяжело в силу её высокой плотности, чреватой разрывом лёгких, и слабости соответствующих мышц, но это можно решить насосами. Остальное же тело человека ничем не отличается от рыбы в плане сжимаемости, даже комбинезон не нужен (на самом деле нужен, вместо жировой одежды морских теплокровных, но это не от давления, а чтоб не переохладиться)...
     
     
  • 5.69, ryoken (ok), 07:54, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Сразу вспомнился фантастический фильм Abyss, на таком принципе там оборудование для сверхглубоководных исследований разработали. (Фонарь лопнул от давления, а человечина всё опускалась на дно :) )
     
  • 5.72, Аноним (-), 09:00, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Всего 1100 атмосфер примерно Покруче чем жить в трубопроводе высокого давления ... большой текст свёрнут, показать
     
     
  • 6.81, Аноним (80), 10:35, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты забыл про космическую радиацию.
     
     
  • 7.101, Аноним (-), 21:07, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Она может быть не настолько страшным фактором как ее малюют и есть хоть какие-то... большой текст свёрнут, показать
     
  • 5.98, AHOHNM (?), 19:48, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ой, а вот встроенная в человека система авто-очистки лёгких нифига не рассчитана на жидкость вместо воздуха. Здравствуй, пневмония.
     
  • 2.48, Аноним (48), 17:05, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ты ещё шнур питания предложи вытащить из системного блока.
     

     ....большая нить свёрнута, показать (34)

  • 1.3, Аноним (4), 10:21, 13/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Давайте ко мне того комментатора, который орал что в стандарте не может быть уязвимостей пусть он отчитывается как так получается что на самом деле бывает.
     
     
  • 2.7, Аноним (1), 10:45, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У тебя лапки? - тут баг в реализации, а не стандарте.
     
     
  • 3.8, Аноним (4), 11:11, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот только не надо эту чушь писать когда все сразу взяли и реализовали как в стандарте написано.
     
     
  • 4.12, Аноним (1), 11:16, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Кто все? Там список из одного пункта - Гхостскрипт.
     
     
  • 5.13, Аноним (4), 11:24, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так никого больше и нет. А символы обрабатываются строго по страндарту. Потому что просто кто-то забыл сделать правильный стандарт.  
     
  • 4.19, Аноним (19), 11:57, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > когда все сразу взяли и реализовали как в стандарте написано.

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

     
     
  • 5.82, Аноним (80), 10:38, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    То что стандарт не описал порядок обработки байтов это недоработка стандарта, а специально это сделано или случайно? Из двух зол выбирают что специально. Можешь убедиться в этом почитав стандарт.
     
     
  • 6.87, Аноним (19), 13:13, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Напомню, что в новости говориться о выходе за пределы буфера. Ты утверждаешь, что это "уязвимость на уровне стандарта" и "в стандарте написано".

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

     

  • 1.6, pashev.ru (?), 10:33, 13/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Например, Ghostscript вызывается в процессе создания миниатюр на рабочем столе

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

     
     
  • 2.166, Енот Берт (?), 23:25, 19/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    в LTS-версиях Ubuntu, нет сырых обнов, там и по сей день апдейты несут только
    ghostscript 9.55.0

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

     

  • 1.11, Аноним (9), 11:12, 13/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А есть вообще дистрибутивы без этого добра, кроме генту?
     
     
  • 2.15, Аноним (15), 11:46, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А разве есть что то кроме генту?! Кто эти люди сидящие не на генту?!
     
     
  • 3.32, kawaii_Аноним (?), 14:11, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Люди с личной жизнью.
     
     
  • 4.43, Аноним (61), 15:11, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ох уж эти единоличники.
     
  • 2.35, Аноним (35), 14:27, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В дебиане, установленного через netinstall.iso, c установкой пакетов с --no-install-recommends этого ghostscript нет...
     
     
  • 3.75, Аноним (75), 09:07, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    apt-cache policy libgs9
     

  • 1.14, Анонимусс (?), 11:43, 13/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Ахаха, лучшие погромисты опять запутались в вычислении размера

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

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

     
     
  • 2.22, Аноним (22), 12:22, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Тебе напомнить кто знаки "меньше" и "больше" путает?
     
     
  • 3.165, Чукча (?), 16:17, 16/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да, напомните, пожалуйста.
     
  • 2.25, Аноним (23), 12:27, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Мегафикс радует как всегда.

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

     
  • 2.29, Иваня (?), 12:57, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А что не так???
     
     
  • 3.40, Аноним (16), 14:47, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Выглядит подпоркой.

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

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

     
  • 3.59, Аноним (59), 19:30, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    в новости говорится о "символах" и о "байтах". Конечно, если все символы однобайтовые, то может и сойдёт. Но как там обрабатываются тексты в какой-нибудь кодировке UTF-8, где размер одного символа плавает от 1 до 4 байт? Может, конечно, такое кодируют во что-то типа Base-64 и там реально всё только однобайтовое.
     
     
  • 4.124, InuYasha (??), 13:08, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    MBCS пытались стандартизировать ещё в 90ых. И даже дефайны какие-то придумали. Но проверять вот это вот всё - реально лень. Я тоже пишу код под ANSI или средствами платформы, которым всё равно на кодировку. Но вообще - строки это всегда боль.
     

  • 1.26, Анонин (?), 12:34, 13/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Офигенная закладка!
    Изначальный код был добавлен 2015-07-20. После этого было пару коммитов со сменой дат и всё))
    Целых семь лет с оценкой 10 из 10! Да еще единой реализацией практически во всех линуксах.
    И с готовым прототип эксплоита. А самое главное - фиг докажешь что не закладка.
    Прям мечта майора Джона))
     
     
  • 2.28, Аноним (19), 12:42, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Офигенная закладка!
    > фиг докажешь что не закладка.

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

     
  • 2.44, Аноним (19), 15:13, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Офигенная закладка!

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

     
     
  • 3.45, Аноним (16), 15:18, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    sed 's/сишники/people/g'

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

     
  • 3.46, Аноним (46), 15:44, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты ж понимаешь что и то, и другое нефальсифицируемо.
    Могли сишники обделаться как обычно, а могли замаскировать злой умысел под это.
    И после всяких призм и тд простой бритовой не обойдешься.

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

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

     
  • 3.74, Tron is Whistling (?), 09:04, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Обделаться не может только тот, кто ничего не делает.
    Учитывая количество софта на сях в сравнении со всяким хипстерьём - ну, вы поняли.
     
     
  • 4.85, Аноним (19), 13:07, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Обделаться не может только тот, кто ничего не делает.

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

     
     
  • 5.88, Tron is Whistling (?), 13:27, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это те, кто уже прошли путь от рубей до хруста?
     
  • 4.86, Аноним (19), 13:09, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Учитывая количество софта на сях

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

     
  • 4.90, fidoman (ok), 15:10, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Сишники с рождения, как вы выражаетесь, "обделанные" - даже в стандартной библиотеке не смогли сами с собой договориться, нужен \0 в конце строки или нет.
    strncpy vs strncat
     
     
  • 5.91, Tron is Whistling (?), 15:29, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не видишь логики в strncpy?
    Сочувствую.
    -> на гошечку
     
     
  • 6.94, Аноним (19), 16:49, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Сочувствую

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

     
     
  • 7.109, Tron is Whistling (?), 09:23, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А ты видишь логику в том, что strncpy при определенных условиях не
    > добавляет ноль? Расскажи, было бы интересно почитать.

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

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

     
     
  • 8.118, Аноним (19), 12:10, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В таком случае ты бы пользовался memcpy ... текст свёрнут, показать
     
     
  • 9.121, Tron is Whistling (?), 12:36, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Немножко семантически криво получится, не так ли ... текст свёрнут, показать
     
     
  • 10.123, Аноним (19), 12:44, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да нет, это как раз прямо выразит твои намерения ... текст свёрнут, показать
     
  • 7.110, Tron is Whistling (?), 09:29, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Теперь второй пример. У тебя есть "I am a f****ng rUST programmer"
    Нам бы надо заменить "programmer" на "fanatic", но следов от него в виде "er" - не оставлять.
    Как считаешь, справится strncpy с задачей?
     
     
  • 8.120, Аноним (19), 12:29, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Может справится, а может и нет - в зависимости от того, как ты напишешь вызов П... текст свёрнут, показать
     
     
  • 9.133, Tron is Whistling (?), 14:45, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Неправильный ответ Правильный ответ - справится И даже нулями забьёт лишнее, к... текст свёрнут, показать
     
     
  • 10.134, Аноним (19), 14:50, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это правильный ответ Ты можешь ошибиться с вызовом strncpy так же, как и сотни ... текст свёрнут, показать
     
  • 7.111, Tron is Whistling (?), 09:30, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А теперь объясняю логику.

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

     
     
  • 8.122, Аноним (19), 12:42, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    То, что ты объяснил - это не логика, а нелепо спроектированное поведение, с кото... текст свёрнут, показать
     
     
  • 9.130, Tron is Whistling (?), 14:37, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Для тебя - нелепо, мне - норм И выстрелить себе в ногу там не так просто, если ... текст свёрнут, показать
     
     
  • 10.131, Tron is Whistling (?), 14:37, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    - во время -... текст свёрнут, показать
     
  • 9.132, Tron is Whistling (?), 14:41, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Основные выстрелы в ногу встречаются как раз не там Основные выстрелы в ногу вс... текст свёрнут, показать
     
     
  • 10.136, Аноним (19), 15:05, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Высокоуровневые лепилы в принципе таких нелепых ошибок не допускают, потому чт... текст свёрнут, показать
     
     
  • 11.138, Аноним (-), 17:33, 15/04/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 11.139, Аноним (-), 17:33, 15/04/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 6.99, fidoman (ok), 20:16, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    посочуствуй ещё, чувствительный наш.
    в strncpy логику нашли, давай искать в strncat
     
     
  • 7.102, Tron is Whistling (?), 22:22, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А с strncat-то что у тебя?
     
     
  • 8.105, fidoman (ok), 06:53, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вот уж действительно, показательный пример Человек, который сам не может баналь... текст свёрнут, показать
     
     
  • 9.106, Tron is Whistling (?), 09:13, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Хосспаде, родной, тебя смущает разница в поведении вызовов RTFM ... текст свёрнут, показать
     
  • 9.107, Tron is Whistling (?), 09:14, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    И в том, и в другом поведении есть своя логика Но любителям зачёсывать и кругло... текст свёрнут, показать
     
     
  • 10.143, fidoman (ok), 19:04, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да, я люблю, когда функции именуются правильно, чтобы название отражало суть, а ... текст свёрнут, показать
     
     
  • 11.148, Tron is Whistling (?), 10:55, 16/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Люби, кто тебе мешает Просто не лезь туда, где тебе не понятно ... текст свёрнут, показать
     
  • 7.112, Tron is Whistling (?), 09:34, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    strncat используется для объединения двух строк переменной длины с терминатором, он выполняет предварительный поиск терминатора в dst, чтобы понять, куда добавлять. И src и dst трактуются как терминированные строки, поэтому и на выходе - терминированная строка.
     
     
  • 8.142, fidoman (ok), 19:02, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Всё это написано в учебнике Только пишут ли там про то, что ты сам должен просч... большой текст свёрнут, показать
     
     
  • 9.149, Tron is Whistling (?), 10:56, 16/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Расчёта Кроме того, буферы могут быть фиксированной длины - если допускается об... текст свёрнут, показать
     
  • 8.144, fidoman (ok), 19:31, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А у strncpy трактуются как-то по-другому ... текст свёрнут, показать
     
     
  • 9.145, Tron is Whistling (?), 10:51, 16/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Внезапно да RTFM, не вижу смысла в слепоглухонемом споре ... текст свёрнут, показать
     
     
  • 10.152, fidoman (ok), 12:28, 16/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вот уж действительно, спорить о C с человеком, который чуть что сбегает в PHP ... текст свёрнут, показать
     
     
  • 11.159, Tron is Whistling (?), 14:21, 16/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если мне нужен свервысокий уровень - я бегу в PHP Если мне нужно очень быстро и... текст свёрнут, показать
     
     
  • 12.161, Tron is Whistling (?), 14:23, 16/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    к счастью, пых изначально делался заматеревшими гошниками, и притащить туда то,... текст свёрнут, показать
     
     
  • 13.162, Tron is Whistling (?), 14:24, 16/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Тьфу блин, гошниками, сишниками ... текст свёрнут, показать
     
  • 11.160, Tron is Whistling (?), 14:22, 16/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Пытаться делать ВСЁ на одной моднявке привет гошечка , даже то, для чего она не... текст свёрнут, показать
     
     
  • 12.163, fidoman (ok), 15:04, 16/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так не делай Только это очень странно, не пользоваться и при этом нахваливат... текст свёрнут, показать
     
  • 10.154, Аноним (19), 13:12, 16/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, тот самый мануал, который советует использовать strlcpy именно из-за упорот... текст свёрнут, показать
     
     
  • 11.155, Tron is Whistling (?), 14:13, 16/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В каком стандарте у нас есть strlcpy Без BSD_SOURCE везде соберётся Што нащёт ... текст свёрнут, показать
     
  • 7.113, Tron is Whistling (?), 09:35, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Всю эту сишную логику можно понять только после того, как ты на асме занимался строковыми операциями.
    Если глубже высокоуровневых примитивов мышление не заглядывало, да - логику увидеть бывает сложновато.
     
     
  • 8.126, Аноним (19), 13:55, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Какой-то стокгольмский синдром по отношнию к недотехнологиям Смешно, как у неко... текст свёрнут, показать
     
     
  • 9.127, Tron is Whistling (?), 14:20, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты с трудом понимаешь, что такое буфер , отсюда и вот это вот недоразумение ... текст свёрнут, показать
     
  • 9.129, Tron is Whistling (?), 14:35, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы две строки плюсиком сложить в разных этих вот всяких тебе придётся целую... текст свёрнут, показать
     
     
  • 10.135, Аноним (19), 15:01, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А чтобы сложить в сях не плюсиком , аллокацию типа не надо делать ... текст свёрнут, показать
     
     
  • 11.141, fidoman (ok), 18:29, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    У каждого сишника есть свой набор нормальных функций работы со строками В конеч... текст свёрнут, показать
     
  • 11.146, Tron is Whistling (?), 10:52, 16/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если у тебя буфер целевой строки превышает по размеру обе-двое - зачем ... текст свёрнут, показать
     
     
  • 12.153, Аноним (19), 13:04, 16/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А буфер целевой строки аллоцировать не надо Речь о сложении, а не о добавлении ... текст свёрнут, показать
     
     
  • 13.156, Tron is Whistling (?), 14:16, 16/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если мне из всех строк нужна только сложенная и размер dst позволяет - зачем мне... текст свёрнут, показать
     
  • 13.157, Tron is Whistling (?), 14:18, 16/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    На входе мне пришли допустим 6 строк, ага Длины уже известны Мне их надо в одн... текст свёрнут, показать
     
     
  • 14.158, Tron is Whistling (?), 14:18, 16/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    ключевые заголовки SIP разбираем, ага ... текст свёрнут, показать
     
  • 8.140, fidoman (ok), 18:23, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Дадад, эту логику могут понять только избранные Нельзя просто сказать - не доду... текст свёрнут, показать
     
     
  • 9.147, Tron is Whistling (?), 10:53, 16/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Нельзя Потому что никто не ошибался, просто ты отказываешься понимать смысл раб... текст свёрнут, показать
     
  • 9.150, Tron is Whistling (?), 10:58, 16/04/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот с этого и надо было начинать C - не твоё D Делай как я - выбирай дуализм ... текст свёрнут, показать
     
     
  • 10.151, Tron is Whistling (?), 11:01, 16/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    естественно именно в похапэ тебя никто силком не тащит, щито угодно мой выбор ... текст свёрнут, показать
     
  • 2.84, fidoman (ok), 12:31, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так надо что-то регулярно портить и героически исправлять. Иначе скажут проект мёртв и грохнут репу.
     

     ....большая нить свёрнута, показать (63)

  • 1.27, Аноним (46), 12:40, 13/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это ж кто же мог подумать что с си бывают экранировнные символы и они занимают целых два симовола!
    Наверное нужно быть синьйором с 30+летним опытом написание на си чтобы знать этот ньюанс!
     
     
  • 2.30, annonn (?), 13:11, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    но-но! не приуменьшай их способности: зато они знают 14 вариантов инициализации!
    и 5 способов каста к void* для самой быстрой порчи памяти!
     
     
  • 3.31, Аноним (46), 13:21, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это с++ники знают. С си все более уныло.
     
  • 2.33, penetrator (?), 14:16, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    погодите а UTF8, UTF16 отменили? там же изначально по несколько байт на символ
     
     
  • 3.41, Аноним (16), 14:48, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее что: применили слишком недавно...
     
  • 2.49, Аноним (48), 17:07, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну как бы clang предупреждает о них. А кто пользуется gcc - тот сам себе злобный буратино.
     
     
  • 3.52, Аноним (61), 17:15, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Шланг явно что-то знал.
     
     
  • 4.76, Бывалый смузихлёб (?), 09:27, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Но гнутый ни в чём не виноват.
     
  • 3.114, Аноним (-), 11:03, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну как бы clang предупреждает о них. А кто пользуется gcc -
    > тот сам себе злобный буратино.

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

     

  • 1.47, Аноним (47), 17:02, 13/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    ghostscript - это традиционный уязвимостейдром. Его не починить, только выкинуть. Благо, что есть pdfbox без сишных дыреней. Чтобы не выкидывать весь софт, зависящий шт GhostScript, нужно сделать совместимое API, но чтобы под капотом был или pdfbox, или что-нибудь на расте, или pdf.js, или проприетарный Foxit.
     
     
  • 2.51, Аноним (61), 17:15, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Всё что ты назвал ещё хуже.
     
     
  • 3.53, Аноним (48), 17:19, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >— Чем же хуже?
    >— Чем GhostScript.

    Ясно.

     
  • 2.54, Аноним (54), 17:20, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > или проприетарный Foxit

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

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

     
     
  • 3.55, Аноним (48), 17:28, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >поскольку разрабатывают его китайцы, если кто не знал. https://en.wikipedia.org/wiki/Foxit_Software

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

     
     
  • 4.56, Аноним (48), 17:28, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    P.S. в mupdf JS вообще неотключаем.
     
     
  • 5.67, Аноним (67), 22:03, 13/04/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > P.S. в mupdf JS вообще неотключаем.

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

     
  • 4.83, Аноним (80), 10:40, 14/04/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ага безопасность закрыть глаза и не видеть опасности. Удалить антивирус и говорить что у тебя нет вирусов. Использовать проприетарный продукт который невозможно проверить и говорить как же там все безопасно просто смешно.
     
  • 3.108, Tron is Whistling (?), 09:21, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Существует. Адобовский. Идеальнее не бывает, потому что это собственно разработчики формата :D
     

  • 1.58, Аноним (58), 18:30, 13/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > ********** вызывается в процессе создания миниатюр на рабочем столе, при фоновой индексации данных и при преобразовании изображений. Для успешной атаки во многих случаях достаточно просто загрузить файл с эксплоитом или просмотреть каталог с ним в Nautilus.

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

     
  • 1.63, Аноним (63), 20:21, 13/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    C in CVE stands for C language!
     
  • 1.77, Аноним (77), 09:37, 14/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Можно ли отключить Ghostscript в Nautilus?
     
  • 1.78, Аноним (78), 09:50, 14/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "Уязвимости присвоен максимальный уровень опасности (10 из 10)"

    Red Hat:
    Priority: medium
    Severity: medium
    :)

     
  • 1.125, InuYasha (??), 13:44, 15/04/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вероятность ошибки растёт со сложностью системы. Сложность PS просто зашкаливает.
     
     
  • 2.128, Tron is Whistling (?), 14:21, 15/04/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ничего, сейчас всё на хрусте перепишут. Поддерживать будет 0.1% от спецификации, при этом жрать в 10 раз больше памяти и работать в 10 раз медленнее, но зато безопасТно.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру