В популярном программном обеспечении для обработки изображений ImageMagisk обнаружена критическая уязвимость безопасности, которая может позволить злоумышленникам выполнять произвольный код удалённо. Уязвимость, получившая идентификатор CVE-2025-57803 с уровнем серьёзности 9,8 из 10 баллов, затрагивает 32-битные сборки ImageMagick версий ранее 7.1.2-2 и 6.9.13-28.
Детали уязвимости
Проблема безопасности возникает из-за переполнения 32-битного целого числа в BMP-кодеке ImageMagick, конкретно в функции WriteBMPImage. При обработке изображений для преобразования в формат BMP происходит математическое переполнение во время вычисления scanline-stride, что приводит к сокращению значения bytes_per_line до крайне малого числа, в то время как модуль записи изображений продолжает выводить ожидаемый объём данных на строку.
Дирк Лемстра, сопровождающий проект ImageMagick и его .NET-библиотеки Magick.NET, опубликовал рекомендации по безопасности GHSA-mxvv-97wh-cfmm, посвящённые этой критической проблеме. Уязвимость создаёт классический примитив повреждения кучи, который злоумышленники могут использовать в типичных автоматизированных конвейерах преобразования, применяемых веб-приложениями и сервисами.
Уязвимость проявляется при обработке специально созданных изображений с шириной, превышающей 178 956 969 пикселей на 32-битных системах. В таких случаях переполнение целого числа приводит к тому, что вычисление stride выдаёт крайне малое значение bytes_perline - всего 688 байт, в то время как фактические данные на строку требуют более 536 миллионов байт. Это огромное несоответствие приводит к переполнению буфера кучи, позволяя атакующим записывать контролируемые данные далеко за пределами выделенной памяти.
Вектор атаки особенно тревожен, поскольку он может быть активирован через доступные по сети сервисы преобразования без необходимости аутентификации или взаимодействия с пользователем. Многие веб-приложения и облачные сервисы автоматически обрабатывают загружаемые изображения, конвертируя их в различные форматы, включая BMP, что делает их уязвимыми для данной эксплойтации.
Установки ImageMagick на 32-битных архитектурах уязвимы для этой атаки, в то время как 64-битные системы защищены от данного конкретного переполнения целого числа благодаря арифметике большего адресного пространства. Однако сопровождающие рекомендуют применять исправления ко всем системам в качестве дополнительной меры безопасности.
Уязвимость может быть использована через типичные рабочие процессы загрузки и преобразования, когда пользователи загружают изображения, которые автоматически обрабатываются серверными экземплярами ImageMagick. Злоумышленники могут создавать вредоносные изображения, которые вызывают переполнение при преобразовании в формат BMP, что потенциально приводит к удалённому выполнению кода через манипуляцию кучей, атакам на отказ в обслуживании, вызывающим сбои приложений, или повреждению памяти, которое может скомпрометировать целостность системы.
Пользователям ImageMagick следует немедленно обновиться до исправленных версий: версии 7.1.2-2 или новее для ветки 7.x и версии 6.9.13-28 или новее для ветки 6.x. Исправления реализуют комплексные арифметические защиты вокруг вычисления stride и обеспечивают соблюдение инвариантов безопасности для предотвращения условия переполнения целого числа.
Организациям, использующим ImageMagick, следует уделить приоритетное внимание этому обновлению и пересмотреть свои процессы обработки изображений, чтобы обеспечить надлежащую проверку вводимых данных и ограничения ресурсов. Уязвимость служит напоминанием о том, что казалось бы безобидные операции преобразования изображений могут стать критическими векторами атак при обработке непроверенного содержимого.
Системным администраторам также следует проверить архитектуру и процедуры обновления своих установок ImageMagick, поскольку данная уязвимость specifically затрагивает 32-битные сборки, которые могут всё ещё развёртываться в унаследованных средах или контейнеризированных приложениях. Рекомендуется регулярный аудит безопасности конвейеров обработки изображений, реализация мер защиты в глубину помимо обновлений библиотек и мониторинг необычных запросов на обработку изображений, которые могут указывать на попытки эксплуатации.
Ссылки
- https://www.cve.org/CVERecord?id=CVE-2025-57803
- https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-mxvv-97wh-cfmm
- https://github.com/ImageMagick/ImageMagick/commit/2c55221f4d38193adcb51056c14cf238fbcc35d7
- https://github.com/dlemstra/Magick.NET/releases/tag/14.8.1