The OpenNET Project / Index page

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

Уязвимость в libpng, приводящая к переполнению буфера при обработке PNG-изображений

22.11.2025 10:58

В корректирующем выпуске библиотеки libpng 1.6.51, применяемой в качестве прямой зависимости у около 600 пакетов в Ubuntu, устранены 4 уязвимости, одна из которых (CVE-2025-65018) приводит к записи за границу буфера. Потенциально данная уязвимость позволяет добиться выполнения своего кода при обработке специально оформленных файлов в формате PNG.

Проблема затрагивает приложения, использующий упрощённый API (png_image_finish_read), и вызвана ошибкой в функции png_combine_row(). Уязвимость проявляется при использовании 8-битного RGBA-формата вывода (PNG_FORMAT_RGBA) для изображений с 16-битным представлением цвета на канал и построчным кодированием (interlaced). Переполнение возникает из-за попытки записи данных с 16-битным представлением цвета в буфер, размер которого был вычислен из расчёта использования 8-бит на цветовой канал.

Остальные три уязвимости (CVE-2025-64505, CVE-2025-64506, CVE-2025-64720) приводят к чтению из области памяти вне границ буфера и могут использоваться для вызова аварийного завершения приложения или организации утечки остаточных данных из памяти процесса.

Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах (если страница недоступна, значит разработчики дистрибутива ещё не приступили к рассмотрению проблемы): Debian, Ubuntu, SUSE, RHEL, Arch, Fedora, FreeBSD.

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


Обсуждение (25) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 11:12, 22/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Обещали же в файрфоксе все эти парсеры в васм скомпилровать. RLBox.
     
  • 1.2, Аноним (2), 11:22, 22/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Очень интересно. Всем известно что С программисты не допускают ошибок при работе с памятью.

    Тогда откуда эта новость? Либо кто то выдумал эти ошибки в надежде что люди не проверят. Либо любители раста подкинули кривой код.

     
     
  • 2.7, Аноним (7), 12:10, 22/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Никаких данных никуда не утекло. Значит, это безопасно, как недавно с растом в клаудфляре.
     
     
  • 3.15, Аноним (-), 12:31, 22/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Никаких данных никуда не утекло.

    Твердо и чётко(с) ?

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

     
  • 2.8, Аноним (8), 12:11, 22/11/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    libpng написан ненастоящими сишниками. Настоящий сишник такой ошибки бы не допустил.
     
  • 2.10, Аноним123 (?), 12:15, 22/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Видимо libpng писали на разработчики rust, но писали на С
     
     
  • 3.13, Аноним (-), 12:19, 22/11/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Первый выпуск 1995

    Так они еще и машину времени изобрели!
    И все ради того, чтобы сишникам в штанишки кучу подложить :)

     
     
  • 4.16, Аноним (16), 12:33, 22/11/2025 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 2.25, Аноним (25), 13:36, 22/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Очень интересно. Всем известно что С программисты не допускают ошибок при работе
    > с памятью.
    > Всем известно

    Такой жирнючий маркер такой же жирной манипуляции с данными

    > Тогда откуда эта новость? Либо кто то выдумал эти ошибки в надежде
    > что люди не проверят. Либо любители раста подкинули кривой код.

    Чувак, это так толсто.
    Это от лени, сил уже нет после работы? Или на опеннете уже настолько тролли пожирнели и обмельчали в интеллекте?

     

  • 1.3, Аноним (3), 11:23, 22/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как надоели эти выходы за границы... одно и тоже... надо на раст переписать чтобы переполнения стека было
     
     
  • 2.4, Аноним (4), 11:30, 22/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Раз надо, то возьми и перепиши. Чего ждёшь-то?
     
     
  • 3.9, Аноним (7), 12:11, 22/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да они даже ГРУБ не могут на раст переписать.
     

  • 1.6, Аноним (6), 11:41, 22/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Эти ошибки - результат эры PC. До PC все писали на басике и паскале и не парились. Потом пришли ребята, которые сказали, надоело системые проги на асме катать. Давайте изобретем си. Вот и изобрели себе на голову. А писали бы на басике, проблем бы не знали.
     
     
  • 2.12, Аноним (12), 12:18, 22/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    так современный аналог бейсика это питон/js
     

  • 1.14, Аноним (14), 12:21, 22/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ахаха! Всего лишь 600 пакетов в Ubuntu узявимы из-за очередной сишной dыpeни)

    И как обычно все четыре из четырех уязвимостей из-за того, что dыpяшeчники не могут в память.
    Никогда такого не было и и вот опять)

     
     
  • 2.26, Аноним (25), 13:39, 22/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ахаха! Всего лишь 600 пакетов в Ubuntu узявимы из-за очередной сишной dыpeни)
    >dыpeни)

    А что это?!


     

  • 1.17, Bob (??), 12:42, 22/11/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.18, Аноним (-), 12:44, 22/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Эксперт, приди!
    Расскажи, что так и должно быть, что катастрофы не случилось.
    Что ошибки находят, и это хорошо.
    Расскажи о статических анализаторах, о санитайзерах.
    Напомни, что мне не следует ходить по непроверённым сайтам.
    Расскажи, что все программы нужно запускать в песочнице, независимо от того на каком языке они написаны.
    Расскажи, что на расте будут те самые ошибки, потому что там есть unsafe, cve-rs, и что раст продвигают корпорации, а не такие новости.
    Давай эксперт, расскажи, не стесняйся. Я жду.
     
  • 1.19, Аноним (-), 12:51, 22/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Шикарная новость!

    С одной стороны ничего нового, типиkaл си код.

    Но один пикантный момент в новости упустили - этой dыpeни уже почти десять лет :)

    Была добавлена в январе 2016 в коммите Simplified API: write-to-memory, overflow handling [1], в котором исправляли ДРУГИЕ проблемы с переполнениями при обработке изображений.

    /* Now check for overflow of the image buffer calculation; this
    * limits the whole image size to 32 bits for API compatibility with
    * the current, 32-bit, PNG_IMAGE_BUFFER_SIZE macro.
    */
    Pathetic))

    И почти десять лет выполнения стороннего кода при обработке специально оформленных файлов в огромном количестве пакетов! Все это время проблема оставалась незамеченной. Тыщща глаз смотрела куда-то не туда.

    Добавил это в уточнение в новость, но не уверен что пропустят.
    Поэтому продублирую тут чтобы порадовать всех))

    [1] github.com/pnggroup/libpng/commit/175a126a1a9ecb8ffb26882f5fc0b509fecc656a

     
  • 1.20, Аноним (20), 12:57, 22/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ДА СКОЛЬКО МОЖНО!!!
     
  • 1.21, Аноним (21), 13:00, 22/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Типичная ошибка сишников, а это значит, что настоящих сишников не существует, даже Столман не настоящий...
     
  • 1.22, Аноним (22), 13:04, 22/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Странная ошибка. Попытка заюзать такую в реале должна быть винда на экране: либо будет специально-скрафченный корявый ввод при просмотре 16-RGB, либо получится корявый вывод 8-RGBA. Ну или забыли только про это одно место, а вывод трансформируется где-то ещё (и тогда вопрос - а было ли переполнение)
     
  • 1.23, бсдшник (-), 13:12, 22/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кстати забавно, если открыть страничку FreeBSD из новости (vuxml.org/freebsd/pkg-png.html), то там есть очень классная табличка

    2015-11-15 libpng buffer overflow in png_set_PLTE
    2015-01-05 png -- heap overflow for 32-bit builds
    2012-04-08 png -- memory corruption/possible remote code execution
    2010-06-28 png -- libpng decompression buffer overflow
    2010-04-20 png -- libpng decompression denial of service
    2008-04-25 png -- unknown chunk processing uninitialized memory access
    2007-10-11 png -- multiple vulnerabilities
    2007-05-16 png -- DoS crash vulnerability
    2004-08-04 libpng stack-based buffer overflow and other code concerns
    2004-05-02 libpng denial-of-service

    Что какбЭ в полной мере характеризует качество кода этой либы и йазычка, на которой она написана.

     
  • 1.24, Аноним (24), 13:33, 22/11/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Автор, большое спасибо за новость! Наши дорогие комментаторы уже неделю себе места найти не могут из за фиаско с клаудой, нужно стресс снимать активно.
     
     
  • 2.27, Аноним (27), 13:40, 22/11/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > из-за фиаско с клаудой

    С клаудой была победа - инет просто не работал.
    А вот фиаско было в прошлый раз с утечкой пользовательских данных из-за проблем с буфером.

     

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



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

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