Критическая уязвимость в libpng угрожает безопасности обработки изображений

vulnerability

В мире кибербезопасности обнаружена серьезная проблема в популярной библиотеке libpng, используемой для обработки PNG-изображений. Разработчики выпустили корректирующее обновление версии 1.6.51, устраняющее четыре уязвимости, одна из которых позволяет злоумышленникам выполнить произвольный код на атакуемых системах.

Детали уязвимостей

Наиболее опасная уязвимость CVE-2025-65018 с высокой оценкой CVSS 7.1 представляет собой переполнение буфера в куче. Проблема возникает при использовании упрощенного API png_image_finish_read для обработки специально сконструированных PNG-файлов. Конкретно уязвимость проявляется при работе с 16-битными чересстрочными изображениями, когда устанавливается 8-битный RGBA-формат вывода.

Техническая суть проблемы заключается в ошибке расчета размера буфера в функции png_combine_row. Система неправильно вычисляет необходимый объем памяти, предполагая использование 8-битного представления цвета, в то время как фактически происходит обработка 16-битных данных. Следовательно, возникает ситуация записи за границы выделенного буфера, что создает условия для выполнения вредоносного кода.

Особую тревогу вызывает тот факт, что проблемный код был добавлен еще в январе 2016 года в коммите, который изначально должен был исправлять проблемы с переполнениями. Почти десятилетие эта уязвимость оставалась незамеченной в кодовой базе, демонстрируя сложность обнаружения подобных ошибок безопасности.

Помимо критической уязвимости, в обновлении устранены еще три проблемы. CVE-2025-64505 с оценкой CVSS 6.1 позволяет читать данные из памяти за пределами буфера через поврежденный индекс палитры в функции png_do_quantize. Аналогичная проблема CVE-2025-64506 с такой же оценкой серьезности возникает в png_write_image_8bit при включенной опции convert_to_8bit.

Третья уязвимость чтения за границами буфера CVE-2025-64720 имеет высокую оценку CVSS 7.1 и проявляется в функции png_image_read_composite при использовании предварительного умножения палитры с флагом PNG_FLAG_OPTIMIZE_ALPHA. Хотя эти уязвимости не позволяют напрямую выполнить код, они могут привести к аварийному завершению приложений или утечке конфиденциальных данных из памяти процесса.

Масштаб потенциального воздействия значителен, поскольку libpng используется в качестве прямой зависимости примерно в 600 пакетах операционной системы Ubuntu. Многочисленные приложения для просмотра и редактирования изображений, веб-браузеры и системные утилиты могут быть подвержены атаке через специально созданные PNG-файлы.

Эксперты по безопасности отмечают, что атака через уязвимости в обработке изображений представляет особую опасность. Злоумышленники могут распространять вредоносные файлы через веб-сайты, электронную почту или мессенджеры. При этом пользователь может даже не подозревать, что простое открытие изображения приводит к компрометации системы.

Рекомендуется немедленно обновить библиотеку libpng до версии 1.6.51 во всех затрагиваемых системах. Системные администраторы должны проверить все приложения, использующие эту библиотеку, и обеспечить установку корректирующих патчей. Разработчикам следует пересмотреть свои зависимости и при необходимости обновить используемые версии libpng.

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

Обнаружение уязвимости в коде, который изначально предназначался для исправления проблем безопасности, демонстрирует сложность разработки защищенного программного обеспечения. Даже опытные разработчики могут непреднамеренно внести ошибки при исправлении других проблем. Следовательно, необходим многоуровневый подход к обеспечению безопасности, включающий различные методы тестирования и валидации.

В текущей ситуации особое внимание следует уделять файлам PNG из непроверенных источников. До момента установки обновлений рекомендуется проявлять повышенную осторожность при работе с изображениями, особенно полученными из ненадежных каналов. Крупные организации могут временно рассмотреть возможность блокировки подозрительных PNG-файлов на периметровых системах защиты.

Ссылки

Комментарии: 0