🇰🇷 한글 설명
Notepad++ v8.9.6.1 버전의 isInTrustedDirectory() 함수가 경로를 정규화하지 않아 발생하는 취약점입니다. 신뢰할 수 있는 디렉토리 경로 뒤에 '..\\..'와 같은 경로 탐색 문자를 사용하여 검증을 우회하고 원치 않는 위치의 파일을 실행할 수 있습니다. 이 문제는 v8.9.6.2 버전에서 수정되었습니다.
💡 쉬운 설명
프로그램이 안전한 폴더인지 확인하는 과정에서 경로 조작을 걸러내지 못하는 결함이 있습니다. 공격자가 특수하게 조작된 경로를 이용해 허용되지 않은 위험한 프로그램을 실행시킬 수 있습니다.
🇺🇸 원문 (English)
Notepad++ is a free and open-source source code editor. In v8.9.6.1, isInTrustedDirectory() does NOT canonicalize the path before checking. It uses a prefix-based check (PathIsPrefix() or equivalent) that matches paths starting with trusted directory strings. A path traversal using ..\..\ after a trusted directory prefix passes the check while resolving to an untrusted location. The CVE-2026-48800 patch adds isInTrustedDirectory() validation in Command::run() (RunDlg.cpp) before calling ShellExecute(). This function checks whether the resolved executable path is under a trusted directory. This vulnerability is fixed in 8.9.6.2.
📍 영향받는 시스템
Notepad++ v8.9.6.1 이하 버전
⚔️ 공격 벡터
신뢰된 디렉토리 경로 뒤에 경로 탐색 문자(..\..)를 삽입하여 검증 로직을 우회하는 방식
🛡️ 대응 방법
Notepad++를 최신 보안 패치가 적용된 v8.9.6.2 이상 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 8.9.6.1 이하인지 확인하여 취약 여부를 판단합니다.
notepad++ --version 2>/dev/null || powershell (Get-Item 'C:\\Program Files\\Notepad++\
otepad++.exe').VersionInfo.FileVersion