Содержание
Национальный центр кибербезопасности предупреждает о критической уязвимости в расширении JCE (Joomla Content Editor) — популярном визуальном редакторе для системы управления контентом Joomla. Уязвимость, получившая идентификатор CVE-2026-48907, представляет собой критическую проблему безопасности, позволяющую неавторизованным злоумышленникам выполнять произвольный PHP-код на сервере и получать полный контроль над сайтом.
Технический анализ уязвимости
Что такое JCE?
JCE (Joomla Content Editor) — это один из самых популярных визуальных редакторов для Joomla, установленный на миллионах сайтов по всему миру. Он предоставляет расширенные возможности форматирования, управления медиафайлами и настройки профилей редактора. Именно функция импорта профилей стала точкой входа для злоумышленников.
Корень проблемы
Уязвимость затрагивает все версии JCE с 1.0.0 по 2.9.99.4 включительно. Она основана на трёх последовательных слабостях в коде расширения:
Отсутствие авторизации — эндпоинт /index.php?option=com_jce&task=profiles.import был доступен для неавторизованных пользователей. Единственной защитой была проверка CSRF-токена, который легко извлекается из HTML-кода любой страницы сайта.
Отсутствие валидации расширений файлов — функция File::makeSafe() удаляла только потенциально опасные символы из имени файла, но не проверяла расширение. Это позволяло загружать файлы с двойными расширениями, например .xml.php.
Отключение встроенной защиты Joomla — при загрузке файла использовался параметр $allow_unsafe = true, который отключал встроенный фильтр опасных расширений Joomla.
Как происходит атака
Сценарий атаки выглядит следующим образом:
Злоумышленник загружает главную страницу сайта и извлекает CSRF-токен из HTML-кода
Отправляет POST-запрос к /index.php?option=com_jce&task=profiles.import с файлом, имеющим двойное расширение (например, evil.xml.php)
Сервер сохраняет файл в директории /tmp/ без проверки содержимого
Злоумышленник обращается к загруженному файлу по HTTP, и PHP-код выполняется на сервере
В результате атакующий получает возможность выполнять произвольные команды на сервере с правами веб-сервера (обычно пользователь www-data).

Масштаб угрозы
CVSS-оценка: 10.0 (критический уровень)
Вектор атаки: по сети, без аутентификации
Сложность эксплуатации: низкая
Статус: активно эксплуатируется в дикой природе, PoC-код опубликован
Агентство кибербезопасности США (CISA) добавило данную уязвимость в каталог Known Exploited Vulnerabilities (KEV), что подтверждает её активную эксплуатацию. Автоматизированные сканирования уже зафиксированы.
Решение проблемы: пошаговое руководство
Немедленные действия
1. Обновление JCE
Критически важно: обновите JCE до версии 2.9.99.6 или выше:
Версия 2.9.99.5 содержит базовое исправление уязвимости
Версия 2.9.99.6 включает дополнительные улучшения безопасности и усиленную защиту
Обновление можно выполнить:
Через стандартный менеджер обновлений Joomla
Скачав актуальную версию с официального сайта: https://www.joomlacontenteditor.net/downloads
2. Проверка на компрометацию
Важно: Обновление закрывает вход для атакующих, но не удаляет уже загруженные вредоносные файлы. Необходимо выполнить следующие шаги:
Проверка файловой системы:
find /var/www/html/tmp -name "*.php" -o -name "*.phtml" -o -name "*.xml.php"
find /var/www/html -name "*.php" -mtime -7
grep -rnE "(eval|base64_decode|system|shell_exec|passthru|exec)" /var/www/html/
Проверка логов:
grep "option=com_jce" /var/log/apache2/access.log | grep "task=profiles.import"
grep "/tmp/.*\.xml\.php" /var/log/apache2/access.log
grep "/tmp/.*\.php" /var/log/apache2/access.log
Проверка профилей JCE:
Зайдите в админ-панель Joomla → Components → JCE → Profiles
Проверьте наличие подозрительных профилей, созданных недавно
Удалите все подозрительные профили
Проверка учётных записей администратора:
SELECT name, username, email, registerDate FROM jos_users ORDER BY registerDate DESC;
3. Смена учётных данных
После обновления и очистки системы необходимо сменить:
Пароль администратора Joomla
Пароль базы данных
Пароль хостинг-аккаунта
Все API-ключи и токены
Дополнительные меры защиты
Настройка веб-сервера
Для Apache:
Создайте файл .htaccess в директориях images/, media/, tmp/, uploads/:
<FilesMatch "\.(php|phtml|phar|php5)$">
Deny from all
</FilesMatch>
Для Nginx:
Добавьте в конфигурацию:
location ~* ^/(images|media|tmp|uploads)/.*\.(php|phtml|phar|php5)$ {
deny all;
return 403;
}
Ограничение доступа к административной панели
Ограничьте доступ к /administrator/ по IP-адресам:
Разрешите доступ только с доверенных IP-адресов (VPN, офис)
Используйте двухфакторную аутентификацию (2FA/MFA) для всех администраторов
Настройка PHP
В php.ini рекомендуется отключить опасные функции:
disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
Что делать, если невозможно обновить JCE?
Для сайтов, работающих на устаревших версиях Joomla или PHP, которые не поддерживают JCE 2.9.99.6:
Используйте бесплатный патч для версий JCE 2.7.x, 2.8.x и 2.9.x
Временно отключите JCE, если он не критичен для работы сайта
Запланируйте миграцию на поддерживаемую версию Joomla и PHP
Предупреждение: JCE 2.6.x, по-видимому, не подвержен уязвимости в стандартной конфигурации, но эта версия больше не поддерживается и может содержать другие неисправленные проблемы безопасности.
Индикаторы компрометации (IoC)
| Признак | Описание |
|---|---|
| HTTP-логи | POST-запросы к /index.php?option=com_jce с task=profiles.import от необычных IP-адресов |
| Файлы | Файлы с именами вида /tmp/jce*.xml.php или /tmp/*.php |
| Системные логи | Выполнение команд пользователем www-data из директории /var/www/html/tmp |
| Подозрительные профили | Новые профили JCE, созданные в даты, когда не выполнялись административные действия |
| Учётные записи | Новые учётные записи администратора с подозрительными именами |
Уязвимость CVE-2026-48907 представляет собой одну из наиболее опасных проблем безопасности для сайтов на Joomla. Простота эксплуатации, отсутствие необходимости в аутентификации и наличие публичного эксплойта делают её приоритетной для немедленного устранения.
Основные рекомендации:
Немедленно обновите JCE до версии 2.9.99.6
Проверьте систему на наличие вредоносных файлов
Смените все пароли и ключи доступа
Настройте дополнительную защиту веб-сервера
Внедрите мониторинг для обнаружения будущих атак
Помните: обновление закрывает уязвимость, но не очищает уже скомпрометированный сайт. Комплексный подход к устранению последствий критически важен для восстановления безопасности.
Кому обратиться за помощью?
Если вы обнаружили признаки компрометации или не уверены в своих силах при устранении последствий атаки, рекомендуется обратиться к профессиональным специалистам.
Вебстудия SitePro.by предлагает комплексные услуги по восстановлению и защите сайтов на Joomla:
— Экстренное реагирование на инциденты безопасности
— Полное сканирование и очистка сайта от вредоносного кода
— Профессиональное обновление JCE и всех компонентов Joomla
— Настройка дополнительных мер защиты (WAF, брандмауэр, мониторинг)
— Аудит безопасности и устранение всех уязвимостей
— Техническая поддержка