The OpenNET Project / Index page

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

01.10.2016 09:00  Уязвимость в OpenJPEG, которая может привести к выполнению кода атакующего

В библиотеке OpenJPEG выявлена опасная уязвимость (CVE-2016-8332), которая может привести к выполнению кода злоумышленника при обработке специально оформленных изображений в формате JPEG 2000 в приложениях, использующих функции OpenJPEG для их обработки. Уязвимость вызвана выходом за границы буфера при разборе записей mcc.

В том числе, уязвимости подвержены просмотрщики PDF Poppler, MuPDF и Pdfium, использующие OpenJPEG для декодирования встроенных в PDF-файлы изображений, а также некоторые почтовые клиенты, автоматически показывающие прикреплённые к письмам изображения. Проблема устранена в выпуске OpenJPEG 2.1.2.

  1. Главная ссылка к новости (http://blog.talosintel.com/201...)
Лицензия: CC-BY
Тип: Проблемы безопасности
Ключевые слова: openjpeg
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, lv7e (?), 09:05, 01/10/2016 [ответить] [показать ветку] [···]    [к модератору]
  • –2 +/
    И... Pdfium перетягивают в Firefox.
     
  • 1.2, б.б. (?), 09:32, 01/10/2016 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    в OpenBSD оно работает?
     
  • 1.3, skybon (ok), 11:04, 01/10/2016 [ответить] [показать ветку] [···]    [к модератору]
  • –13 +/
    Кушайте C полной ложкой, господа.
     
     
  • 2.4, A.Stahl (ok), 11:24, 01/10/2016 [^] [ответить]    [к модератору]
  • +18 +/
    Только вот уязвимость найдена и исправлена и всё отлично, а твоя Ява будет подаваться на лопате всю её жизнь. Кушай дальше.
     
     
  • 3.12, skybon (ok), 15:21, 01/10/2016 [^] [ответить]    [к модератору]
  • –7 +/
    Соломенное чучело - кроме Явы полно хороших низкоуровневых языков с проверкой границ. Даже тот же C++ с std::array и std::vector.
     
     
  • 4.14, A.Stahl (ok), 15:33, 01/10/2016 [^] [ответить]    [к модератору]  
  • +/
    И чем вызов at() отличается от ручной проверки в Си? Тебе же, явисту, даже в голову не приходит, что обращение к элементу вектора через [] никаких проверок не производит. Иди не тормози дальше.
     
  • 4.17, vitalif (ok), 19:44, 01/10/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    C++ там будут те же грабли, только глубже зарытые. А на остальных низкоуровневых языках с проверкой массивов (D?) сколько народу пишет-то? А какой-нить Go вообще не предназначен для библиотек...
     
  • 4.19, Аноним (-), 20:00, 01/10/2016 [^] [ответить]     [к модератору]  
  • +/
    А теперь представь себе что декомпрессор будет на каждый копируемый байт проверк... весь текст скрыт [показать]
     
     
  • 5.20, Аноним (-), 20:05, 01/10/2016 [^] [ответить]    [к модератору]  
  • +/
    Дык хорошо же! Дядям из интела тоже кушать надо, а тут вы со своими оверхедами, понимаешь...
     
  • 5.24, Аноним (-), 23:27, 01/10/2016 [^] [ответить]     [к модератору]  
  • +3 +/
    А теперь представь себе, что побайтовое копирование уже само по себе хороший тор... весь текст скрыт [показать]
     
  • 4.33, xm (ok), 00:32, 03/10/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    Вообще-то низкоуровневый язык это не C.
    Это Ассемблер и, возможно, Форт. Всё.
     
  • 3.15, Аноним (-), 15:33, 01/10/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    Кроме явы есть куча других языков.
     
     
  • 4.25, Vkni (ok), 08:13, 02/10/2016 [^] [ответить]    [к модератору]  
  • +/
    > Кроме явы есть куча других языков.

    Текущие разработки в этом поле - Agda, Idris, F*.

     
  • 2.5, iZEN (ok), 12:18, 01/10/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    "Нам не нужны проверки границ массивов, так как это замедляет скорость", - говорили они... Ха-ха-ха.
     
     
  • 3.6, Аноним (-), 12:26, 01/10/2016 [^] [ответить]    [к модератору]  
  • +4 +/
    Напишите ему уже ему ядро FreeBSD на Java.
     
     
  • 4.7, A.Stahl (ok), 12:32, 01/10/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    Да чего уж мелочиться -- нужно попросить Баллмера(или кто там нынче у руля) переписать винду на Яве.
     
     
  • 5.8, Старик (?), 12:35, 01/10/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    Зачем? Там, вродь, и так дыр хватает… Или уже не хватает?
     
  • 5.9, б.б. (?), 12:49, 01/10/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    там есть специальный эмулятор торможения, так что ява там не нужна
     
  • 5.11, MPEG LA (ok), 14:36, 01/10/2016 [^] [ответить]    [к модератору]  
  • +3 +/
    >переписать винду на Яве.

    я слышал про одну конторку, так они ОСь для мобил тоже на Яве написали. теперь отмыться не могут.

     
  • 5.27, Vkni (ok), 08:23, 02/10/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    > Да чего уж мелочиться -- нужно попросить Баллмера(или кто там нынче у
    > руля) переписать винду на Яве.

    Странно, что не на Фортране - он тоже древний и тоже с проверками границ.

     
  • 3.13, ram_scan (?), 15:28, 01/10/2016 [^] [ответить]    [к модератору]  
  • +/
    > "Нам не нужны проверки границ массивов, так как это замедляет скорость", - говорили они... Ха-ха-ха.

    На X86 еще начиная с 80186 это делалось единственной инструкцией процессора (bound). Расово вернуе компиляторы уже тогда фичу эту поддерживали прям из коробки включенной по дефолту, но такая фича не позволяет "трюкачить" без синтаксического сахара лазая через (unsigned char*) куда попало.

     
     
  • 4.18, Аноним (-), 19:54, 01/10/2016 [^] [ответить]     [к модератору]  
  • –1 +/
    По поводу чего сломаются чуть более чуть все алгоритмы сжатия, шифрования и проч... весь текст скрыт [показать]
     
  • 4.29, Аноним84701 (?), 19:27, 02/10/2016 [^] [ответить]    [к модератору]  
  • +/
    > На X86 еще начиная с 80186 это делалось единственной инструкцией процессора (bound).
    > Расово вернуе компиляторы уже тогда фичу эту поддерживали прям из коробки
    > включенной по дефолту, но такая фича не позволяет "трюкачить" без синтаксического
    > сахара лазая через (unsigned char*) куда попало.

    Она же вроде довольно дорогая была?
    Я вот смотрю http://zsmith.co/intel_b.html#bound и на таблички к cmp/je - получается вроде бы (грубо и прикидочно) максимум на уровне "эмуляции" bound с помощью cmp/je. По крайней мере, пока все "штатно" (т.е. "jump not taken"). Случайно не "сахарок" на микрокоде?

     
  • 3.26, Vkni (ok), 08:19, 02/10/2016 [^] [ответить]    [к модератору]  
  • +/
    > "Нам не нужны проверки границ массивов, так как это замедляет скорость", -
    > говорили они... Ха-ха-ха.

    Так сейчас при компиляции делают. :-)

     
  • 2.10, Андрей (??), 13:00, 01/10/2016 [^] [ответить]    [к модератору]  
  • +/
    Загляните в их исходники. Если так подходить к написанию кода, то не удивительно, что где-то упадёт.
     
  • 2.16, Аноним (-), 19:29, 01/10/2016 [^] [ответить]     [к модератору]  
  • +/
    Ты только представь себе, в программах случаются ошибки В любых программах, про... весь текст скрыт [показать]
     
     
  • 3.21, iZEN (ok), 20:09, 01/10/2016 [^] [ответить]     [к модератору]  
  • –3 +/
    Но такие детские ошибки случаются только в программах на Си ДНК у этого языка... весь текст скрыт [показать]
     
     
  • 4.22, A.Stahl (ok), 20:41, 01/10/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    Ошибка была логическая и связана с "при разборе записей mcc". Никакая автоматическая проверка диапазонов эту ошибку не исправила бы. Скорее наоборот -- подобные действия маскировали бы эту проблему.
    И что в итоге? Паразитных проверок нет, ошибки нет и все счастливы. Один только Изя сердито топчет ножками, трясёт кулачками в монитор и чего-то там фыркает про Яву.
     
     
  • 5.34, Очередной аноним (?), 10:05, 03/10/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    логическая то она может и логическая, но "...Уязвимость вызвана выходом за границы буфера...", следовательно, проверка диапазона таки сработала бы, обвалила бы программу нафиг, а не переписала память в неположенном месте.  Хоть и работало бы медленнее. Т.е. был бы в "mcc" записан какой-нибудь ошибочный или сознательнозлоумышленный бред на тему размера/смещений данных/секций, сам программист совершил "логическую ошибку", поверив входным данным, не написал бы кода проверки выхода этих смещений за буфер, но в "нормальном языке" перед тем, как код попытался бы сделать это обращение к памяти, выполнилась бы проверка, добавленная компилятором/рантаймом и вылезло бы исключение или другой род ошибок, но не перетирание памяти.
     
  • 4.23, Аноним (-), 20:45, 01/10/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    А ява на чём написана? о щи...
    Может откажешься уже от явы, FreeBSD.
    И т.к. жизнь тоже не безопасная штука, и от неё откажешься?
     
     
  • 5.28, Аноним (28), 13:31, 02/10/2016 [^] [ответить]    [к модератору]  
  • +/
    *ява- остров, сигареты, исторический драндулет двухколесной компановки;
    **жаба- мем, амфибия, язык программирования.
     
  • 4.30, fi (ok), 22:23, 02/10/2016 [^] [ответить]    [к модератору]  
  • +/
    ага, ты авторам jvm расскажи что у них проблема в ДНК :)))
     
     
  • 5.32, iZEN (ok), 00:17, 03/10/2016 [^] [ответить]    [к модератору]  
  • +/
    > ага, ты авторам jvm расскажи что у них проблема в ДНК :)))

    Не без этого. ;)
    Вообще же, Java - это большой полигон идей и методов программирования. Но от детских ошибок, по крайней мере, старались избавляться с самого начала. На Java2 написан прикладной кодек PNG для мобильных устройств с J2ME, кстати, а там нет доступа к нативным функциям.


     
  • 1.31, Kodir (ok), 23:41, 02/10/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    21 век... "выход за границы буфера"... но вы продолжайте писать на своей таймбомбе С++ и пенять на "плохих разрабов", допускающих ошибки! Ровно до того момента, пока ваша лапша не взорвётся в продакшене.
     
     
  • 2.36, count0krsk (ok), 13:55, 03/10/2016 [^] [ответить]    [к модератору]  
  • +/
    > Ровно до того момента, пока ваша лапша не взорвётся в продакшене.

    А watchdog на что? Эх, Семён-семеныч... Перезапустится софтина, и всего делов. Будет каждый день падать - обновим, или перейдем на другую.


     
     
  • 3.37, anonymous (??), 08:07, 04/10/2016 [^] [ответить]    [к модератору]  
  • +/
    Потеряете данные клиентов или ещё хуже, если они утекут налево. Будете не только софтину, но и клиентов перезапускать?
     
     
  • 4.38, count0krsk (ok), 09:09, 04/10/2016 [^] [ответить]    [к модератору]  
  • +/
    > Потеряете данные клиентов или ещё хуже, если они утекут налево. Будете не
    > только софтину, но и клиентов перезапускать?

    На то они и клиентЫ, что их много.
    Данные восстанавливаются тащемта. Если надо - ручками.
    Это у вас в Московии утекут, а тут в Сибири они могут валяться в распечатанном виде - не возьмет никто, разве что в туалете бумага кончится. Я так заполучил схему устройства ЦОД провайдера, у которого 60 000+ абонентов. С номерами AS, ip всех серверов и т.д. Просто валялась в пыли на столе тех. отдела.
    1с-никам дают права админа домена, чтобы не звонили каждый раз, когда надо железку какую-нибудь подключить или драйвер поставить. А что там за "Сережа из фирмы хрю-му" звонит, и что он будет делать - никто не парится даже.
    И это не я так делаю, а сложившаяся практика у тех самых клиентов. Про лицензирование говорить вообще не буду.

     

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


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