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

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

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)

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

Популярное

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

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

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

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

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

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
    Скачать инструмент