🇰🇷 한글 설명
Notepad++ 8.9.8 미만 버전의 PluginsManager::loadPluginFromPath 함수에서 스택 버퍼 오버플로 취약점이 발견되었습니다. 악성 플러그인이 허용된 범위를 초과하는 렉서(lexer) 수를 보고할 경우, 스택 배열을 넘어 제어 데이터를 손상시켜 임의 코드를 실행할 수 있습니다.
💡 쉬운 설명
나쁜 의도를 가진 플러그인을 설치하면 프로그램의 메모리 영역을 넘쳐나게 만들어 컴퓨터를 해킹할 수 있는 문제입니다. 이로 인해 해커가 사용자의 컴퓨터에서 몰래 명령을 실행할 위험이 있습니다.
🇺🇸 원문 (English)
Notepad++ is a free and open-source source code editor. Prior to 8.9.8, Notepad++ contains a stack buffer overflow in PluginsManager::loadPluginFromPath in PowerEditor/src/MISC/PluginsManager/PluginsManager.cpp because the plugin-supplied GetLexerCount() result controls a loop that writes to containers[30] without enforcing NB_MAX_EXTERNAL_LANG. A malicious or compromised plugin that reports more than 30 lexers can write beyond the stack array and corrupt control data, which can permit arbitrary code execution in the Notepad++ process context. This issue is fixed in version 8.9.8.
📍 영향받는 시스템
Notepad++ 8.9.8 미만 모든 버전
⚔️ 공격 벡터
악성 또는 변조된 플러그인을 통해 조작된 GetLexerCount() 값을 전달하여 스택 버퍼 오버플로 유발
🛡️ 대응 방법
Notepad++를 최신 버전인 8.9.8 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 8.9.8보다 낮으면 취약한 상태이며, 8.9.8 이상이면 안전합니다.
notepad++ --version 2>/dev/null || powershell -command "(Get-ItemProperty 'HKCU:\Software\Notepad++\*.exe').Version"