Назад к обновлениям
UpdatedJul 31, 2026

NotCVE-2026-0009 — Updated!

Уязвимость обхода пути в NitroShare v0.3.4

Поделиться

Уязвимость Path Traversal в nitroshare

Описание

NitroShare Desktop v0.3.4 содержит уязвимость path traversal в своём LAN-сервере передачи файлов. Сервер прослушивает все сетевые интерфейсы (порт 40818) без аутентификации. При получении файлов поле name из JSON-заголовка элемента отправителя передаётся без проверки того, что разрешённый путь остаётся в пределах корневого каталога передачи, C:\UserName\Downloads\NitroShare. Злоумышленник в той же LAN-сети может отправить специально сформированное имя файла, содержащее последовательности ../ (классическая атака dot dot slash), чтобы записать файлы в любое место, доступное текущему пользователю, включая папку автозагрузки Windows для выполнения кода при следующем входе в систему (именно поэтому и был создан PoC). Взаимодействие с пользователем не требуется. Кроме того, TLS отключён по умолчанию (метод аутентификации, который предлагает приложение), что означает отсутствие необходимости аутентификации по умолчанию, и, как я предполагаю, большинство пользователей так и оставят, исходя из многолетнего опыта работы в IT и информационной безопасности.

Шаги воспроизведения

  1. Подключитесь к серверу передачи NitroShare на TCP-порту 40818 из LAN-сети.
  2. Отправьте JSON-пакет заголовка передачи: {"name":"attacker","size":"<n>","count":"1"}.
  3. Отправьте JSON-пакет заголовка элемента с именем файла, содержащим path traversal:
    {"name":"../../AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/payload.exe","directory":false,"created":"0","last_modified":"0","last_read":"0","size":"<n>"}
    
  4. Отправьте бинарный(е) пакет(ы), содержащие содержимое вредоносного файла.
  5. Файл записывается за пределами каталога загрузок по пути, выбранному злоумышленником.
  6. Если целью является папка автозагрузки, полезная нагрузка выполняется автоматически при следующем входе пользователя в систему.

Рабочий PoC прилагается (poc_path_traversal_via_lan_transfer___arbitrary_file_w.py) и был проверен на NitroShare 0.3.4 в Windows.

Рекомендации по устранению

  1. Очистка получаемых имён файлов — Удаляйте или отклоняйте разделители путей (/, \) и последовательности ... После разрешения с помощью QDir::absoluteFilePath() убедитесь, что результат начинается с корневого каталога передачи, прежде чем продолжить.
  2. Требовать пароль или включить TLS по умолчанию — Поставляйте приложение с включённым TLS и автоматической генерацией сертификатов при первом запуске, либо добавьте возможность установки пароля.
  3. Добавить запрос на подтверждение передачи — Запрашивайте подтверждение у пользователя перед записью полученных файлов на диск.
  4. Внедрить аутентификацию — Требуйте механизм сопряжения (общий секрет, QR-код или обмен сертификатами) перед принятием передач.

Хронология раскрытия

  • 13 апреля 2026 г. — Связался с разработчиком по электронной почте, опубликованной в репозитории GitHub. Ответа нет.
  • 19 апреля 2026 г. — Вторая попытка. Ответа нет.
  • 3 мая 2026 г. — Третья попытка. Ответа нет.
  • 22 июля 2026 г. — Присвоен идентификатор NotCVE-2026-0009
  • 28 июля 2026 г. — Присвоен идентификатор CVE-2026-66050

Категории