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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-52886 — # Notepad++ CVE-2026-52886 — обход пути через starts_with() в backupFilePath в session.xml (GHSA-rqfm-pw34-r7j6) | Kitploit
Инструменты/GitHubGitHub/v3s9er/cve-2026-52886
Анализ уязвимостейЭксплуатацияЭксфильтрация данных
GitHubv3s9er/cve-2026-52886

CVE-2026-52886

# Notepad++ CVE-2026-52886 — обход пути через starts_with() в backupFilePath в session.xml (GHSA-rqfm-pw34-r7j6)

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

Популярное

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

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

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

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

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

Path Traversal: обход проверки префикса starts_with()

Notepad++ — произвольное чтение файлов через обход backupFilePath в session.xml

Уведомление

  • GHSA: GHSA-rqfm-pw34-r7j6
  • CVE: CVE-2026-52886
  • Серьёзность: Средняя
  • Затронутые версии: < v8.9.6.4
  • Исправлено в: v8.9.7
  • Коммит с исправлением: 7e66f36
  • Затронутый файл: PowerEditor/src/Notepad_plus.cpp (восстановление сеанса — проверка backupFilePath)
  • Платформа: Windows 11 Pro x64
  • Требуемые привилегии: обычный пользователь (право записи в session.xml)
  • Исследователь: v3s9er (RAGE)
  • Раскрыто: 2026-06-05

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

При восстановлении сеанса Notepad++ проверяет атрибут backupFilePath с помощью сравнения префикса необработанной строки через std::wstring::starts_with(), без предварительной нормализации пути. Специально сформированный путь, начинающийся с легитимного префикса каталога резервных копий, но содержащий последовательности обхода ..\, проходит проверку, однако при открытии файла операционной системой разрешается в произвольное расположение — содержимое любого читаемого файла загружается во вкладку редактора.

Технический обзор

При запуске с включённым режимом моментальных снимков (резервных копий) Notepad++ восстанавливает предыдущий сеанс из session.xml. Ожидается, что backupFilePath каждой записи находится в каталоге резервных копий приложения. Контроль целостности лишь убеждается, что сохранённый путь начинается с ожидаемой строки каталога резервных копий. Поскольку сравнение выполняется над необработанной, ненормализованной строкой, атакующий добавляет легитимный префикс в начало, а затем выходит за пределы каталога с помощью последовательностей ..\.

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

Проверка тестирует текстовый префикс; использование открывает путь, разрешённый ОС. Эти два значения расходятся, как только присутствует ..\.

ОперацияИсточникПоведение
ПРОВЕРКАНеобработанная строка backupFilePathstarts_with(backupDir) — проходит при совпадении префикса
ИСПОЛЬЗОВАНИЕПуть, разрешённый ОСПоследовательности ..\ сворачиваются в произвольное расположение

Сценарий атаки

Предварительное условие: право записи в session.xml, включён режим моментальных снимков / резервных копий.

Шаги:

  1. Перезапишите session.xml, внедрив специально сформированный backupFilePath: <backupDir>\..\..\..\..\Users\victim\.ssh\id_rsa
  2. Префикс <backupDir>\ удовлетворяет starts_with(), поэтому проверка проходит.
  3. Запустите Notepad++ (сработает восстановление сеанса).
  4. ОС сворачивает последовательности ..\; целевой файл открывается.
  5. Содержимое произвольного файла загружается во вкладку редактора.

Результат: эксфильтрация только для чтения — содержимое целевого файла отображается в редакторе, включая чувствительные файлы, такие как SSH-ключи, файлы конфигурации окружения и хранилища учётных данных.

Воздействие

  • Тип: произвольное чтение файлов (Path Traversal)
  • Требуется администратор: нет
  • Запрос UAC: нет
  • Раскрытие: закрытые SSH-ключи, файлы .env / конфигурации, хранилища учётных данных — любой файл, читаемый пользователем
  • CWE: CWE-22 (Некорректное ограничение имени пути к ограниченному каталогу)

Подтверждение концепции

Требования:

  • Портативная версия Notepad++ v8.9.6.2 x64 с конфигурацией резервных копий / моментальных снимков
  • Право записи в session.xml
  • Полезная нагрузка backupFilePath: префикс каталога резервных копий + последовательности обхода ..\ + путь к целевому файлу

Внедрение специально сформированного пути и запуск приложения загружают целевой файл во вкладку редактора.

Анализ исправления

Исправление (коммит 7e66f36) выполняет корректную нормализацию пути перед проверкой, поэтому последовательности ..\ сворачиваются до сравнения префиксов — проверяемый и используемый пути теперь совпадают.

Ссылки

  • GHSA-rqfm-pw34-r7j6
  • CVE-2026-52886
  • Коммит 7e66f36
  • Релиз Notepad++ v8.9.7
Скачать инструмент