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

В корректирующем выпуске библиотеки libpng 1.6.51, применяемой во многих приложениях для декодирования PNG-изображений (около 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.

Источник: http://www.opennet.ru/opennews/art.shtml?num=64305