Обнаружена опасная уязвимость в популярном PHP-фреймворке CodeIgniter4, связанная с обработкой изображений через ImageMagick. Уязвимость, получившая идентификатор CVE-2025-54418, была оценена по шкале CVSS в 10.0 баллов, что указывает на ее исключительную критичность и высокий потенциал для масштабных атак. Проблема затрагивает все версии фреймворка ниже 4.6.2, что ставит под угрозу миллионы веб-приложений, использующих этот инструмент для обработки загружаемых пользователями файлов.
Обзор уязвимости и векторы атак
Исследователи безопасности выявили два основных вектора атаки, позволяющих злоумышленникам внедрять и выполнять произвольные команды на сервере. Первый метод эксплуатации основан на загрузке файлов с особым образом сформированными именами, содержащими шелл-метасимволы. При обработке таких файлов через метод resize() происходит выполнение внедренного кода. Второй способ связан с уязвимостью в методе text(), который используется для наложения текста на изображения. Если приложение принимает пользовательский ввод для генерации текстовых элементов, злоумышленник может передать вредоносные команды, которые будут исполнены сервером с правами веб-процесса.
Основная причина уязвимости заключается в недостаточной санации входных данных в механизмах обработки изображений CodeIgniter. Это позволяет атакующим обходить стандартные защитные механизмы и получать контроль над сервером. Особенно уязвимыми оказываются приложения, разрешающие пользователям загружать файлы с произвольными именами и затем обрабатывающие их через ImageMagick. В случае успешной эксплуатации злоумышленник может получить полный доступ к файловой системе, базам данных и другим критически важным компонентам сервера.
Разработчики CodeIgniter уже выпустили патч в версии 4.6.2, устраняющий эту проблему, и настоятельно рекомендуют всем пользователям немедленно обновить фреймворк. Для организаций, которые не могут выполнить обновление в кратчайшие сроки, предлагаются временные меры защиты. Наиболее эффективным решением является переход с ImageMagick на альтернативный обработчик изображений GD, который не подвержен данной уязвимости. Также рекомендуется использовать встроенные методы фреймворка, такие как getRandomName() и store(), для генерации безопасных имен файлов и управления загрузками.
Эта уязвимость стала очередным напоминанием о важности своевременного обновления ПО и строгой фильтрации пользовательских данных. Учитывая широкую распространенность CodeIgniter в веб-разработке, ее эксплуатация может привести к крупномасштабным инцидентам безопасности. Администраторам следует в приоритетном порядке проверить используемые версии фреймворка и принять меры для защиты своих систем.
Несмотря на то, что на момент публикации новости активных атак с использованием этой уязвимости не зафиксировано, эксперты прогнозируют рост попыток эксплуатации в ближайшие недели. Злоумышленники часто сканируют сети в поисках уязвимых систем после публикации подобных уведомлений. Поэтому задержка с установкой обновлений может привести к серьезным последствиям, включая утечки данных, компрометацию серверов и финансовые потери.
Ссылки
- https://nvd.nist.gov/vuln/detail/CVE-2025-54418
- https://github.com/codeigniter4/CodeIgniter4/commit/e18120bff1da691e1d15ffc1bf553ae7411762c0
- https://github.com/codeigniter4/CodeIgniter4/security/advisories/GHSA-9952-gv64-x94c
- https://www.cve.org/CVERecord?id=CVE-2025-54418