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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-21627---Tassos-Novarain-Framework-plg_system_nrframework-Exploit---Joomla — Python-эксплойт для CVE-2026-21627 — неаутентифицированное произвольное включение PHP-файлов в Novarain Framework для Joomla, позволяющее загрузку и удаление файлов, а также удалённое выполнение кода (RCE). | Kitploit
Инструменты/GitHubGitHub/yallasec/cve-2026-21627---tassos-novarain-framework-plg_system_nrframework-exploit---joomla
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеRed TeamingРазработка Полезной Нагрузки
GitHubyallasec/cve-2026-21627---tassos-novarain-framework-plg_system_nrframework-exploit---joomla

CVE-2026-21627---Tassos-Novarain-Framework-plg_system_nrframework-Exploit---Joomla

Python-эксплойт для CVE-2026-21627 — неаутентифицированное произвольное включение PHP-файлов в Novarain Framework для Joomla, позволяющее загрузку и удаление файлов, а также удалённое выполнение кода (RCE).

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

Популярное

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

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

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

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

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

CVE-2026-21627

Неаутентифицированное произвольное включение файлов в фреймворке Novarain для Joomla (nrframework)

CVSS Joomla Python


Обзор

Критическая уязвимость в плагине Tassos/Novarain Framework (plg_system_nrframework) для Joomla позволяет неаутентифицированным атакующим включать произвольные PHP-файлы на сервере, создавать экземпляры произвольных классов и, комбинируя со встроенными классами-гаджетами, добиваться произвольной загрузки файлов и произвольного удаления файлов — всё без аутентификации.

ID CVECVE-2026-21627
Оценка CVSS9.5 (критическая)
Плагинplg_system_nrframework (Tassos Framework / Novarain Framework)
Уязвимые версиис 4.10.14 по 6.0.37
Исправлено в6.0.38+
CMSJoomla 3.x, 4.x, 5.x

Плагин nrframework поставляется вместе с несколькими популярными расширениями Joomla от Tassos.gr, включая Convert Forms, Engage Box, Google Structured Data и другие.

Детали уязвимости

Метод ajaxTaskInclude() в nrframework.php явно внесён в белый список для доступа с фронтенда (без прав администратора) через массив $non_admin_tasks. Он принимает три параметра, управляемых пользователем:

  • path — использует входной фильтр RAW (нулевая санитизация, возможен обход пути)
  • file — использует стандартный входной фильтр Joomla
  • class — имя класса для создания экземпляра после включения

Конкатенированный путь $path . $file . '.php' передаётся напрямую в @include_once, что обеспечивает произвольное включение PHP-файлов. После включения указанный класс создаётся, и вызывается его метод onAJAX() с параметрами, управляемыми пользователем.

Примитивы атаки

ПримитивГаджетСерьёзностьОписание
Включение файловajaxTaskInclude()КритическаяВключение любого .php-файла на сервере
Удаление файловJFormFieldNRInlineFileUpload::onRemove()Критическаяunlink() без проверки пути — удаление любого файла, доступного для записи веб-серверу
Загрузка файловJFormFieldNRInlineFileUpload::onUpload()ВысокаяЗагрузка текстовых файлов в любую доступную для записи веб-каталог
Раскрытие путиОтвет при загрузкеСредняяПолный путь файловой системы, раскрываемый в JSON-ответе

Использование

root@kitploit:~
python3 cve_2026_21627.py --target <URL> --mode <MODE> [OPTIONS]

Режимы

РежимОписаниеРиск
verifyПодтвердить наличие уязвимостиБезопасно / только чтение
uploadЗагрузить файл в контролируемый каталогСредний
deleteУдалить произвольный файл на сервереРазрушительный
rceПопытка полной цепочки RCE (загрузка + выполнение)Высокий
infoВключить произвольный PHP-файл для разведкиСредний

Примеры

Проверка уязвимости:

root@kitploit:~
python3 cve_2026_21627.py --target https://example.com --mode verify

Загрузка proof-of-concept файла:

root@kitploit:~
python3 cve_2026_21627.py --target https://example.com --mode upload --shell-type txt

Загрузка SSI-шелла (требуется Apache mod_include):

root@kitploit:~
python3 cve_2026_21627.py --target https://example.com --mode upload --shell-type shtml

Попытка цепочки RCE:

root@kitploit:~
python3 cve_2026_21627.py --target https://example.com --mode rce --cmd "id"

Удаление файла (разрушительно):

root@kitploit:~
python3 cve_2026_21627.py --target https://example.com --mode delete --file-path /var/www/html/test.txt

Параметры

root@kitploit:~
--target, -t       URL цели (обязательно)
--mode, -m         Режим эксплуатации: verify|upload|delete|rce|info (обязательно)
--sef-prefix       Префикс SEF URL Joomla (по умолчанию: /it/)
--delay            Задержка между запросами в секундах (по умолчанию: 2.5)
--proxy            HTTP-прокси (например, http://127.0.0.1:8080)
--no-ssl-verify    Отключить проверку SSL-сертификата

Режим загрузки:
  --shell-type     Тип файла: shtml|csv|txt|html (по умолчанию: shtml)
  --upload-dir     Каталог загрузки относительно JPATH_ROOT (по умолчанию: images)
  --custom-content Пользовательское содержимое загружаемого файла

Режим удаления:
  --file-path      Полный путь на сервере к удаляемому файлу

Режим RCE:
  --cmd            Команда для выполнения (по умолчанию: id)

Режим info:
  --php-path       Путь к PHP-файлу относительно JPATH_SITE
  --php-file       Имя PHP-файла без расширения .php
  --php-class      PHP-класс для создания экземпляра

Как это работает

root@kitploit:~
┌──────────────┐    ┌───────────────────┐    ┌─────────────────────┐
│   Атакующий  │───>│  onAjaxNrframework │───>│  ajaxTaskInclude()  │
│              │    │  (AJAX-маршрутизатор)│  │                     │
│ task=include │    │  include находится │    │ path = RAW-ввод    │
│ path=...     │    │  в $non_admin_tasks│    │ @include_once $path │
│ file=...     │    │  (аутентификация   │    │ new $class()->onAJAX│
│ class=...    │    │  не требуется)     │    └──────────┬──────────┘
└──────────────┘    └───────────────────┘               │
                                                        v
                               ┌─────────────────────────────────────┐
                               │  JFormFieldNRInlineFileUpload       │
                               │  (класс-гаджет)                    │
                               │                                     │
                               │  onAjax() ──> onUpload()  [ЗАПИСЬ]  │
                               │           ──> onRemove()  [УДАЛЕНИЕ]│
                               └─────────────────────────────────────┘
  1. Сессия и CSRF — Joomla создаёт сессии лениво. Эксплойт инициирует создание сессии, обращаясь к AJAX-эндпоинту, затем извлекает CSRF-токен из HTML главной страницы.
  2. Включение файлов — Задача include вызывается с контролируемым path (фильтр RAW = без санитизации), указывающим на файл-гаджет.
  3. Выполнение гаджета — Включённый класс JFormFieldNRInlineFileUpload предоставляет onUpload() для записи файлов и onRemove() для удаления файлов, оба с недостаточной проверкой входных данных.

Требования

  • Python 3.7+
  • Библиотека requests
root@kitploit:~
pip install requests

Обнаружение

Отслеживайте журналы доступа на предмет попыток эксплуатации:

root@kitploit:~
# Шаблон журнала Apache/Nginx
grep -E "option=com_ajax.*plugin=nrframework.*task=include" access.log

Правило WAF — Блокировать запросы, соответствующие:

root@kitploit:~
option=com_ajax.*plugin=nrframework.*task=include.*path=

Аудит после компрометации:

  • Проверьте images/ и другие доступные для записи каталоги на наличие неожиданных файлов
  • Проверьте целостность configuration.php и .htaccess
  • Просмотрите журналы ошибок сервера на предмет предупреждений @include_once

Устранение

  1. Обновите nrframework до версии 6.0.38 или новее немедленно
  2. Патч полностью удаляет ajaxTaskInclude() и заменяет его строгим реестром обработчиков (AjaxHandlerRegistry)

Хронология

ДатаСобытие
2026-02Уязвимость обнаружена в ходе авторизованного пентеста
2026-02Создан эксплойт
2026-02Публичное раскрытие

Отказ от ответственности

Этот инструмент предоставляется только для авторизованного тестирования безопасности и образовательных целей. Используйте этот эксплойт только против систем, на тестирование которых у вас есть явное письменное разрешение. Несанкционированный доступ к компьютерным системам незаконен. Автор не несёт ответственности за неправомерное использование.

Автор

Yallasec — yallasec.com

Arcangelo Saracino — @arkango

Скачать инструмент