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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-66492 — Расширение Joomla PhocaCommander уязвимо к обходу пути (Path Traversal) в действии загрузки файлов — CVSS 6.1 | Kitploit
Инструменты/GitHubGitHub/toanln-cov/cve-2026-66492
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на Проникновение
GitHubtoanln-cov/cve-2026-66492

CVE-2026-66492

Расширение Joomla PhocaCommander уязвимо к обходу пути (Path Traversal) в действии загрузки файлов — CVSS 6.1

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

Популярное

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

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

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

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

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

Обход пути в месте назначения загрузки файлов

PhocaCommander ≤ 6.1.3 — аутентифицированный администратор может записывать файлы за пределами корневой директории веб-сервера

CVE CVSS CWE-22 Affected Researcher


КРАТКОЕ ОПИСАНИЕ

Обработчик загрузки файлов в PhocaCommander формирует путь назначения из управляемого атакующим параметра folder в кодировке base64 без какой-либо проверки ограничения пути. Аутентифицированный администратор может загружать файлы в произвольные места за пределами корневой директории веб-сервера, доступные для записи процессу веб-сервера.

Подтверждено в лаборатории: загрузка с folder=Li4vLi4vLi4vdG1w (= ../../../tmp) размещает загруженный файл в — за пределами — с владельцем . В производственных средах PHP-FPM это можно использовать в связке для достижения удалённого выполнения кода.

/tmp/
/var/www/html/
www-data

ЗАТРАГИВАЕМЫЕ ВЕРСИИ

КОМПОНЕНТУЯЗВИМЫЕ ВЕРСИИПРОТЕСТИРОВАНО НАИСПРАВЛЕНО
PhocaCommander1.0.0 – 6.1.3Joomla 5.4.7 + PhocaCommander 6.1.3 (PHP 8.2 / Apache)6.1.4

ДЕТАЛИ УЯЗВИМОСТИ

Требуется аутентификация: администратор (сессия + CSRF-токен)

Файл: administrator/components/com_phocacommander/helpers/fileupload.php — realMultipleUpload()

Корневая причина

realMultipleUpload() декодирует POST-параметр folder из base64 и передаёт его напрямую в конкатенацию с Path::clean(), которая затем используется как место назначения загрузки без какой-либо проверки ограничения пути.

FILEUPLOAD.PHP — УЯЗВИМЫЙ КОД

root@kitploit:~
$folder = $app->getInput()->get('folder', '', '', 'string');
$folder = base64_decode($folder);         // ← attacker-controlled

$path = JPATH_ROOT;                       // = /var/www/html

if (isset($folder) && $folder != '') {
    $pathFolder = Path::clean($path . '/' . $folder . '/');
    // e.g. Path::clean('/var/www/html/../../../tmp/')
    // = '/tmp/' — outside the webroot, no error thrown
}

// ...
File::upload($file['tmp_name'], $pathFolder . strtolower($file['name']));

Path::clean() нормализует разделители каталогов, но не разрешает и не удаляет последовательности ../. Полученный путь передаётся напрямую в File::upload() без последующей проверки границ.

Список разрешённых расширений для загрузки

Обработчик применяет список разрешённых расширений (изображения, документы, архивы, текстовые файлы) и блокирует исполняемые сервером типы, такие как .php и .htaccess. Однако многие типы файлов, допустимые этим списком, — включая shell-скрипты, определения cron-задач и фрагменты конфигурации, — могут нанести значительный вред при записи в критичные системные пути.


ПОДТВЕРЖДЕНИЕ КОНЦЕПЦИИ

Сценарий 1 — Произвольная запись файла в /tmp через обход пути в параметре folder

1. Войдите в панель администратора Joomla и получите CSRF-токен

Выполните аутентификацию через страницу входа администратора. Получите CSRF-токен Joomla с любой страницы администрирования — он отображается как скрытое поле формы или может быть извлечён из исходного кода страницы.

Извлечение CSRF-токена из панели администратора с помощью GET-запроса

2. Загрузите файл с обходом пути в параметре folder

Отправьте multipart POST-запрос на POST /administrator/index.php?option=com_phocacommander&task=phocacommanderupload.multipleupload с содержимым файла в поле file и закодированным в base64 путём обхода Li4vLi4vLi4vdG1w (= ../../../tmp) в поле folder. Сервер отвечает кодом HTTP 200 и {"jsonrpc":"2.0","result":"OK","code":200,"message":"Success: ","details":"Files uploaded"}.

ЗАПРОС / ОТВЕТ

POST-запрос на загрузку с параметром folder, содержащим обход пути, и ответом 200 OK

3. Подтвердите запись файла в /tmp — за пределами корневой директории веб-сервера

Файл подтверждён в /tmp/upload_test.txt, владелец www-data, за пределами /var/www/html/.

Терминал ls -la /tmp, показывающий upload_test.txt с владельцем www-data


ВОЗДЕЙСТВИЕ

  1. Произвольная запись файла за пределами корневой директории веб-сервера — любой путь, доступный для записи www-data, может получить содержимое, выбранное атакующим, включая пути, используемые планировщиком ОС, демоном SSH и другими сервисами
  2. Потенциальное удалённое выполнение кода (RCE) в средах PHP-FPM — загрузка .txt-файла, содержащего PHP-код, вместе с файлом .user.ini (auto_prepend_file) в каталог, доступный через веб, приводит к выполнению PHP при следующем запросе к этому каталогу

ССЫЛКИ

  • CVE: https://www.cve.org/CVERecord?id=CVE-2026-66492
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-66492
  • Репозиторий производителя: https://github.com/PhocaDesign/PhocaCommander
Скачать инструмент