Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-52886 — Notepad++ CVE-2026-52886 — session.xml backupFilePath starts_with() path traversal (GHSA-rqfm-pw34-r7j6) | Kitploit
도구/GitHubGitHub/v3s9er/cve-2026-52886
Vulnerability AnalysisExploitationData Exfiltration
GitHubv3s9er/cve-2026-52886

CVE-2026-52886

Notepad++ CVE-2026-52886 — session.xml backupFilePath starts_with() path traversal (GHSA-rqfm-pw34-r7j6)

저장소 보기
6일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

경로 탐색: starts_with() 접두사 검사 우회

Notepad++ — session.xml backupFilePath 탐색을 통한 임의 파일 읽기

권고

  • 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()를 통한 원시 문자열 접두사 비교로 검증하며, 경로를 먼저 정규화하지 않습니다. 정상 백업 디렉터리 접두사로 시작하지만 ..\ 탐색 시퀀스를 포함하는 조작된 경로는 검사를 통과하지만, OS가 파일을 열 때 임의의 위치로 확인되어 읽을 수 있는 모든 파일의 내용이 편집기 탭에 로드됩니다.

기술 개요

스냅샷(백업) 모드가 활성화된 상태에서 시작하면 Notepad++는 이전 세션을 session.xml에서 복원합니다. 각 항목의 backupFilePath는 애플리케이션의 백업 디렉터리 아래에 있어야 합니다. 무결성 검사는 저장된 경로가 기대되는 백업 디렉터리 문자열로 시작하는지만 확인합니다. 비교가 원시적이고 정규화되지 않은 문자열에서 이루어지기 때문에 공격자는 정상 접두사를 앞에 붙이고 ..\ 시퀀스로 디렉터리를 벗어날 수 있습니다.

근본 원인

검사는 텍스트 접두사를 확인하고, 사용은 OS가 확인한 경로를 엽니다. ..\가 존재하면 둘은 일치하지 않습니다.

작업소스동작
CHECK원시 backupFilePath 문자열starts_with(backupDir) — 접두사 일치 시 통과
USEOS 확인 경로..\ 시퀀스가 임의의 위치로 축소됨

공격 시나리오

사전 조건: session.xml에 대한 쓰기 권한, 스냅샷/백업 모드 활성화.

단계:

  1. session.xml을 덮어쓰고 조작된 backupFilePath를 주입합니다: <backupDir>\..\..\..\..\Users\victim\.ssh\id_rsa
  2. 접두사 <backupDir>\가 starts_with()를 충족하므로 검증이 통과합니다.
  3. Notepad++를 시작합니다(세션 복원이 트리거됨).
  4. OS가 ..\ 시퀀스를 축소하여 대상 파일이 열립니다.
  5. 임의 파일의 내용이 편집기 탭에 로드됩니다.

결과: 읽기 전용 유출 — SSH 키, 환경 구성 파일, 자격 증명 저장소 등 민감한 파일을 포함한 대상 파일 내용이 편집기에 표시됩니다.

영향

  • 유형: 임의 파일 읽기 (경로 탐색)
  • 관리자 필요: 아니요
  • UAC 프롬프트: 아니요
  • 노출: SSH 개인 키, .env/구성 파일, 자격 증명 저장소 — 사용자가 읽을 수 있는 모든 파일
  • CWE: CWE-22 (제한된 디렉터리에 대한 경로 이름의 부적절한 제한)

개념 증명

요구 사항:

  • 백업/스냅샷 구성이 포함된 Notepad++ v8.9.6.2 휴대용 x64
  • session.xml에 대한 쓰기 권한
  • backupFilePath 페이로드: 백업 디렉터리 접두사 + ..\ 탐색 시퀀스 + 대상 파일 경로

조작된 경로를 주입하고 애플리케이션을 시작하면 대상 파일이 편집기 탭에 로드됩니다.

패치 분석

수정(커밋 7e66f36)은 검증 전에 적절한 경로 정규화를 수행하므로 ..\ 시퀀스가 접두사 비교 전에 축소됩니다. 이제 검사된 경로와 사용된 경로가 일치합니다.

참조

  • GHSA-rqfm-pw34-r7j6
  • CVE-2026-52886
  • Commit 7e66f36
  • Notepad++ v8.9.7 릴리스
도구 다운로드