CVE: CVE-2026-63223
Продукт: Ubuntu
Дата публикации: 31.07.2026
Критичность: CRITICAL
CVSS: 9.8 (3.1)
EPSS: 0,49%; процентиль 39,74%
CISA KEV: нет подтверждения в каталоге CISA KEV
Краткое описание
Уязвимость CVE-2026-63223 в фреймворке CodeIgniter позволяет удалённому атакующему загружать файлы с произвольным содержимым, если приложение использует устаревшие правила валидации загрузки и сохраняет файлы с клиентским именем в директории, где возможен запуск скриптов. Исправление доступно в версии 4.7.4, рекомендуется обновление.
Основные характеристики
CVE-2026-63223 — уязвимость типа CWE-434, связанная с недостаточной проверкой расширений файлов при загрузке. Она затрагивает фреймворк CodeIgniter версий до 4.7.4. Атакующий может загружать файлы с произвольными расширениями, если приложение не применяет дополнительную проверку через
ext_in. В случае сохранения таких файлов с оригинальным именем в веб-доступной директории, сервер может выполнить содержимое как PHP-скрипт. Исправление включено в версию 4.7.4 [2].Какие продукты и версии затронуты
В Ubuntu затрагиваются пакеты фреймворка CodeIgniter, в частности
php-codeigniter-framework в версиях 3.1.13+dfsg1-3 (Ubuntu 24.04 LTS) и 3.1.13+dfsg1-8 (Ubuntu 26.04 LTS). Эти версии подвержены уязвимости, поскольку не содержат исправления для правил валидации is_image и mime_in. Обновление до версии 4.7.4 или выше устраняет проблему [2].Причина уязвимости
Основной причиной является отсутствие независимой проверки безопасных расширений файлов в правилах
is_image и mime_in. Приложение может принимать файлы с произвольным расширением, если не применяет дополнительную проверку через ext_in. Это позволяет загружать файлы с расширением .php, которые могут быть выполнены сервером, если путь к файлу доступен через веб-сервер. В системах Ubuntu, где используется старая версия фреймворка, эта уязвимость остаётся актуальной.Как работает атака
Атакующий отправляет файл с расширением, которое не проверяется правилами
is_image или mime_in. Если приложение сохраняет файл с этим именем и размещает его в веб-доступной директории, сервер может выполнить содержимое файла как PHP-скрипт. Уязвимость требует, чтобы приложение не применяло дополнительную проверку расширений и не использовало безопасные методы сохранения файлов.Условия успешной эксплуатации
Для эксплуатации уязвимости необходимо, чтобы система использовала CodeIgniter версии ниже 4.7.4, и приложение применяло правила
is_image или mime_in без дополнительной проверки расширений. Также требуется, чтобы файлы сохранялись с оригинальным именем и находились в веб-доступной директории, где PHP может быть выполнен. Отсутствие этих условий делает эксплуатацию невозможной.Возможный сценарий атаки
Атакующий создаёт вредоносный файл с расширением
.php, например, backdoor.php, и загружает его через веб-интерфейс, использующий CodeIgniter. Если сервер сохраняет файл с этим именем и размещает его в директории, доступной через HTTP, сервер выполняет содержимое файла как PHP-скрипт. Такая схема возможна, если приложение не проверяет расширения файлов и не применяет безопасные практики хранения загрузок.Есть ли публичный эксплойт
На момент подготовки материала не подтверждено наличие публичного эксплойта или PoC, напрямую использующего уязвимость CVE-2026-63223. Уязвимость позволяет загружать файлы с произвольным содержимым, однако её эксплуатация требует соблюдения определённых условий, которые могут быть сложны для автоматизации [1].
Признаки эксплуатации
Признаки компрометации включают необычные файлы с расширением
.php в директориях загрузок, особенно если они были загружены пользователем или через веб-интерфейс. Также можно наблюдать подозрительную активность в логах веб-сервера, связанную с запросами к файлам, которые не должны быть выполнены. Для мониторинга рекомендуется проверять журналы доступа и изменение файлов в директориях, где размещаются загрузки.Как обнаружить атаку
Обнаружение уязвимости возможно через анализ версий установленных пакетов, таких как
php-codeigniter-framework, и проверку конфигураций приложений, использующих CodeIgniter. Системы должны проверять, используют ли они правила is_image или mime_in без дополнительной проверки расширений. Также рекомендуется проверить, сохраняются ли файлы с оригинальным именем и размещены ли они в веб-доступной директории. Логи веб-сервера могут содержать записи о запросах к файлам, которые не должны быть выполнены.Как проверить свою версию
Для проверки версии фреймворка в Ubuntu можно использовать следующие команды:
Bash:
# Проверка версии операционной системы
uname -r
# Проверка установленного пакета
apt-cache policy php-codeigniter-framework
Если отображается версия ниже 4.7.4, система подвержена уязвимости. Рекомендуется обновить пакет через менеджер пакетов:
Bash:
sudo apt update && sudo apt upgrade php-codeigniter-framework
Исправление
Корректное решение проблемы — обновление пакета
php-codeigniter-framework до версии 4.7.4 или выше. Это обеспечивает включение исправления, которое добавляет проверку расширений файлов. После обновления необходимо перезапустить веб-сервер и перезагрузить приложения, чтобы изменения вступили в силу. Также рекомендуется пересмотреть политики загрузки файлов в приложениях, чтобы избежать сохранения файлов с произвольными именами и расширениями.Временные меры защиты
Временные меры защиты включают ограничение прав доступа к директориям загрузок, чтобы файлы не могли быть выполнены как скрипты. Также можно применить фильтрацию имен файлов на уровне веб-сервера или приложения, чтобы запретить загрузку файлов с расширениями, которые могут быть выполнены. Важно также отключить выполнение PHP-скриптов в директориях, где размещаются загруженные файлы.
Как проверить устранение уязвимости
После обновления пакета
php-codeigniter-framework следует проверить, что версия соответствует 4.7.4 или выше. Это можно сделать с помощью команды:
Bash:
apt-cache policy php-codeigniter-framework
Также рекомендуется перезапустить веб-сервер и проверить, что в логах нет ошибок, связанных с загрузкой файлов. Проверка конфигураций приложений также необходима для подтверждения, что правила валидации корректно применяются.
Вывод
CVE-2026-63223 представляет собой уязвимость в CodeIgniter, позволяющую загружать файлы с произвольным содержимым. В Ubuntu, где установлены устаревшие версии фреймворка, эта проблема требует немедленного решения. Обновление до версии 4.7.4 или выше — единственный надежный способ устранить уязвимость [2]. Организации должны проверить свои системы и принять меры по защите, чтобы предотвратить возможную эксплуатацию.
Официальные источники
История обновлений статьи
- 09.08.2026 — Опубликована первая версия материала.
