В мире кибербезопасности обнаружена серьезная проблема в популярной библиотеке 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-файлов на периметровых системах защиты.
Ссылки
- https://www.openwall.com/lists/oss-security/2025/11/22/1
- https://github.com/pnggroup/libpng/security/advisories/GHSA-hfc7-ph9c-wcww
- https://github.com/pnggroup/libpng/security/advisories/GHSA-4952-h5wq-4m42
- https://github.com/pnggroup/libpng/security/advisories/GHSA-qpr4-xm66-hww6
- https://github.com/pnggroup/libpng/security/advisories/GHSA-hfc7-ph9c-wcww
- https://security-tracker.debian.org/tracker/CVE-2025-65018