Блог

Полезная информация в сфере создания и разработки сайтов, продвижении и рекламы веб ресурсов

Критическая уязвимость CVE-2026-48907 в Joomla Content Editor (JCE)

Национальный центр кибербезопасности предупреждает о критической уязвимости в расширении 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).

 

jce joomla hacked 2026 02

 

Масштаб угрозы

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, брандмауэр, мониторинг)

— Аудит безопасности и устранение всех уязвимостей

— Техническая поддержка