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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-100520-laranode-path-traversal — Path Traversal -> RCE в Laranode < 1.2.1 (CWE-22). PoC + advisory writeup. | Kitploit
Инструменты/GitHubGitHub/wvllxe/cve-2026-100520-laranode-path-traversal
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийВеб-безопасностьТестирование на ПроникновениеИнструмент Удаленного Доступа
GitHubwvllxe/cve-2026-100520-laranode-path-traversal

CVE-2026-100520-laranode-path-traversal

Path Traversal -> RCE в Laranode < 1.2.1 (CWE-22). PoC + advisory writeup.

Репозиторий
251 день назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2026-100520 — Path Traversal → RCE в файловом менеджере Laranode

Авторизованное исследование безопасности. PoC только для защитного и образовательного использования.

CVSS 3.1 CVSS 4.0 CWE-22 Status

Аутентифицированный path traversal в эндпоинте загрузки файлового менеджера Laranode позволяет низкопривилегированному арендатору записывать произвольные файлы за пределами своего домашнего каталога — включая PHP веб-шелл в веб-корень другого арендатора — что приводит к удалённому выполнению кода от имени этого арендатора.

CVECVE-2026-100520
ПродуктLaranode (панель управления мультитенантным хостингом, Laravel)
Затронуто>= 0, < 1.2.1
Исправлено вv1.2.1
УязвимостьPath Traversal (CWE-22) → Arbitrary File Write → RCE
ПривилегииАутентифицированный (любой низкопривилегированный пользователь панели)
CVSS 3.18.8 HIGH — AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS 4.08.7 HIGH — AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H
ОбнаруженоAlisher Qarshibayev
РекомендацияVulnCheck · GHSA-34h2-2696-vfvr

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

app/Actions/Filemanager/UploadFileAction.php формирует путь назначения путём прямого соединения предоставленных пользователем полей запроса path и originalName с домашним каталогом арендатора — без канонизации и без проверки на traversal:

// app/Actions/Filemanager/UploadFileAction.php  (< 1.2.1)
$r->validate([
    'file'         => 'required|file',
    'originalName' => 'required|string|max:255',
    'path'         => 'required|string',          // <-- attacker controlled, not sanitized
]);

$file = $r->file('file');

$path = '/home/' . $r->user()->systemUsername . '/' . $r->path;   // <-- traversal sink

File::append($path . '/' . $r->originalName, $file->get());        // <-- arbitrary write

Маршрут защищён только auth — любой аутентифицированный арендатор может до него добраться:

// routes/web.php
Route::post('/filemanager/upload-file', [FilemanagerController::class, 'uploadFile'])
     ->middleware(['auth'])->name('filemanager.uploadFile');

Поскольку path принимает последовательности ../, значение вроде ../victim/public_html выходит за пределы домашнего каталога вызывающего и помещает загруженный файл в веб-корень другого арендатора. Запись .php файла туда приводит к выполнению кода в момент его запроса по HTTP.

Доказательство концепции

Требования: действующая низкопривилегированная учётная запись на целевом экземпляре Laranode (это привилегия, которую предполагает CVE). PoC выполняет вход, получает CSRF-токен и записывает маркерный PHP-файл в веб-корень соседнего арендатора через traversal.

python3 poc.py \
    --url https://panel.example.com \
    --user [email protected] \
    --pass 'Password123' \
    --victim victimuser \
    --webroot public_html

Ожидаемый результат — сервер подтверждает запись за пределами домашнего каталога атакующего:

[*] Logging in as [email protected] ...
[+] Authenticated, CSRF token acquired
[*] Uploading pwn_<rand>.php via path traversal ...
[+] Server destination: /home/victimuser/public_html/pwn_<rand>.php
[+] Verifying execution ...
[+] RCE confirmed: https://victim.example.com/pwn_<rand>.php -> CVE-2026-100520 <uname>

См. poc.py. Маркерный шелл выполняет только id/uname для доказательства выполнения — никаких деструктивных действий.

Влияние

  • Межтенантная произвольная запись файлов на панели общего хостинга.
  • Удалённое выполнение кода от имени любого соразмещённого арендатора → полная компрометация его сайта и данных.
  • Нарушает основную гарантию изоляции мультитенантной панели управления.

Устранение

Обновитесь до Laranode 1.2.1 (коммит с исправлением). Исправление нормализует разрешённый путь и отклоняет любое назначение, выходящее за пределы домашнего каталога арендатора (проверка вхождения через realpath()). Общая рекомендация: никогда не строить пути файловой системы из необработанного пользовательского ввода — канонизируйте и подтверждайте, что результат остаётся в пределах разрешённого базового каталога.

Хронология

ДатаСобытие
2026-09-21Дата публичного раскрытия
2026-09-26CVE-2026-100520 зарезервирован и опубликован (VulnCheck)

Раскрытие

Ответственно раскрыто вендору и скоординировано через VulnCheck. Исправлено в v1.2.1 до выпуска этого PoC. Опубликовано в защитных и образовательных целях.

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