The OpenNET Project / Index page

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

Приложения, использующие libpng, подвержены уязвимости

16.11.2015 09:29

В новых версиях библиотеки libpng 1.0.64, 1.4.17, 1.2.54, 1.5.24 и 1.6.19 устранена уязвимость (CVE-2015-8126), которая может привести к переполнению буфера при открытии специально оформленных PNG-файлов в приложениях, выполняющих операции с палитрой. Уязвимость может привести к краху приложений, использующих libpng.

Проблема вызвана ошибкой сопоставления размера палитры с параметрами глубины цветности (bit_depth менее 8) в функциях png_set_tIME()/png_convert_to_rfc1123() и png_get_PLTE()/png_set_PLTE(), что можно использовать для чтения данных за пределами границы буфера и потенциально для записи вне буфера. Кроме того, приложения могут использовать данные о глубине цвета из блока IHDR для самостоятельного выделения памяти под палитру, в то время как libpng вернёт до 256 записей, даже если задана глубина цвета менее 8.

  1. Главная ссылка к новости (http://www.openwall.com/lists/...)
  2. OpenNews: В libpng устранена опасная уязвимость
  3. OpenNews: Релиз libpng 1.6.0 с поддержкой упрощённого API
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/43330-libpng
Ключевые слова: libpng
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (23) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Какаянахренразница (ok), 09:50, 16/11/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Покажите рабочий пример этой уязвимости (эксплойт).
     
     
  • 2.4, Аноним (-), 10:19, 16/11/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В любом hex-редакторе поправьте заголовок PNG файла с более-менее нормальной палитрой, выставив значение глубины цвета меньше 8.
     
     
  • 3.6, Какаянахренразница (ok), 10:39, 16/11/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > В любом hex-редакторе поправьте заголовок PNG файла с более-менее нормальной палитрой,
    > выставив значение глубины цвета меньше 8.

    Повторяю просьбу: заделитесь готовым файлом, если у кого есть.

    P.S.: Если я попрошу порно-фильм, ты тоже будешь советовать нарисовать его самостоятельно в hex-редакторе?

     
     
  • 4.7, Аноним (-), 10:42, 16/11/2015 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > P.S.: Если я попрошу порно-фильм, ты тоже будешь советовать нарисовать его самостоятельно в hex-редакторе?

    Если кто-то хочет есть, это не значит, что его должны кормить из ложки.

     
     
  • 5.9, Какаянахренразница (ok), 11:17, 16/11/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> P.S.: Если я попрошу порно-фильм, ты тоже будешь советовать нарисовать его самостоятельно в hex-редакторе?
    > Если кто-то хочет есть, это не значит, что его должны кормить из
    > ложки.

    Порно-фильмы это не продукт питания. Ты что-то перепутал.

     
     
  • 6.10, anonymous (??), 11:25, 16/11/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Работающий эксплоит свежей уязвимости - не предмет первой необходимости. Твоя аналогия хромает на обе ноги.
     
     
  • 7.13, Анонизмус (?), 13:29, 16/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Порнофильм - не предмет первой необходимости.
     
     
  • 8.14, anonymous (??), 13:52, 16/11/2015 [^] [^^] [^^^] [ответить]  
  • +8 +/
    А по никнейму и не скажешь ... текст свёрнут, показать
     
  • 8.19, Какаянахренразница (ok), 20:20, 16/11/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А-а-а, вот они, те импотенты, которые голосуют за слежку в интернете ... текст свёрнут, показать
     
     
  • 9.23, Аноним (-), 03:35, 17/11/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А кому-то вполне достаточно своей второй половинки ... текст свёрнут, показать
     
  • 9.24, Аноним (-), 03:36, 17/11/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    продолжу Тем не менее, слежка не нужна ... текст свёрнут, показать
     
  • 7.18, Какаянахренразница (ok), 20:16, 16/11/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Работающий эксплоит свежей уязвимости - не предмет первой необходимости. Твоя аналогия
    > хромает на обе ноги.

    Если бы работающий эксплойт был предметом первой необходимости, я бы вышел делать революцию. А так прошу по-хорошему: дай папиросочку, у тя брюки в полосочку.

     
  • 3.8, maxst (?), 10:59, 16/11/2015 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > В любом hex-редакторе поправьте заголовок PNG файла с более-менее нормальной палитрой,
    > выставив значение глубины цвета меньше 8.

    Простого PNG файла недостаточно, нужно еще приложение которое работает с палитрой, причем неосторожно.

    К примеру, браузерам палитра не нужна, они запрашивают из libpng картинку сразу в RGB или RGBA так что там проблем нет, даже со старыми версиями libpng.

     
  • 3.21, Пунк (?), 21:52, 16/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Он предложит тебе снять самому )))
     

  • 1.2, A.Stahl (ok), 09:50, 16/11/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >1.0.64, 1.4.17, 1.2.54, 1.5.24 и 1.6.19

    Ну ничего себе разброс поддерживаемых версий. Есть какие-то причины (ну кроме "так исторически сложилось") по которым нужно поддерживать столько разных версий, а не предложить ребятам с 1.0.х обновиться на версию из 21 века?

     
     
  • 2.5, maxst (?), 10:35, 16/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    И это еще не все, уже готовят 1.7.x
    Игого наблюдаем 6 активно обновляющихся веток:
    https://sourceforge.net/projects/libpng/files/

     
  • 2.11, anonymous (??), 11:27, 16/11/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >>1.0.64, 1.4.17, 1.2.54, 1.5.24 и 1.6.19
    > Ну ничего себе разброс поддерживаемых версий. Есть какие-то причины (ну кроме "так
    > исторически сложилось") по которым нужно поддерживать столько разных версий, а не
    > предложить ребятам с 1.0.х обновиться на версию из 21 века?

    Потому что лицензия ZLIB, оттого libpng используют в каждом чайнике. Между версиями сильно ломалось API, поэтому приходится поддерживать версии для legacy.

     
     
  • 3.16, Crazy Alex (ok), 14:57, 16/11/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как ни крути, пять веток - от совсем запредельно.
     
     
  • 4.26, Аноним (-), 08:41, 17/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Не поленись - сходи и сообщи им об этом. Вдруг они просто не догадываются, а тут ты весь такой в белом - придешь и всех их спасешь от сей злочастной судьбы.
     
  • 4.27, Яро Ш. Я. (?), 21:07, 17/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >Как ни крути, пять веток - от совсем запредельно.

    [I] dev-db/postgresql
         Available versions:  
         (9.0)  9.0.23-r1^t
         (9.1)  9.1.19-r1^t
         (9.2)  9.2.14-r1
         (9.3)  9.3.10-r1
         (9.4)  9.4.5-r1

    [I] dev-lang/python
         Available versions:  
         (2.7)  2.7.10 ~2.7.10-r2 [M]~2.7.10-r3
         (3.3)  3.3.5-r1 ~3.3.5-r2 [M]~3.3.5-r3(3.3/3.3m)
         (3.4)  3.4.3 ~3.4.3-r2 [M]~3.4.3-r3(3.4/3.4m)
         (3.5)  ~3.5.0-r1 [M]~3.5.0-r2(3.5/3.5m)

    и на закуску

    [I] sys-devel/automake
         Available versions:  
         (1.4)  1.4_p6-r2
         (1.5)  1.5-r2
         (1.6)  1.6.3-r2
         (1.7)  1.7.9-r3
         (1.8)  1.8.5-r5
         (1.9)  1.9.6-r4
         (1.10) 1.10.3-r1
         (1.11) 1.11.6-r1
         (1.12) 1.12.6
         (1.13) 1.13.4
         (1.14) 1.14.1
         (1.15) 1.15

     

  • 1.3, Аноним (-), 10:05, 16/11/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В libpng бесит глобальный обработчик ошибок.
     
  • 1.20, Какаянахренразница (ok), 20:23, 16/11/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > В новых версиях библиотеки libpng  1.0.64, 1.4.17, 1.2.54, 1.5.24 и 1.6.19

    Обрубили бы ему лишние ветки, штоле...

     
  • 1.25, Аноним (-), 04:12, 17/11/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >что можно использовать для чтения данных за пределами границы буфера

    Похожий баг я находил где-то в гноме (похоже что баг в gdk-pixbuf) https://bugzilla.gnome.org/show_bug.cgi?id=696331

    Вот вам даже особая картинка для воспроизведения бага http://dump.bitcheese.net/files/yrufatu/bugtest2.png - 512 байт. Такой пнг файл можно легко из любой нормальной пнг картинки сделать, надо просто обрезать хвост этому файлу, например создать нормальный файл bugtest.png и потом dd if=bugtest.png of=bugtest2.png count=1

    Засовываете эту png картинку в директорию с кучей других картинок, открываете каким-нибудь гномовским(гтк-шным) просмотрщиком картинок (eog, ristretto) и перелистываетесь между картинками в директории.

     

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



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

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