🇰🇷 한글 설명
launch-editor 라이브러리 2.14.2 미만 버전에서 발생하는 취약점으로, 공격자가 '+' 또는 '-'로 시작하는 파일명을 생성할 경우 해당 파일명이 에디터의 명령줄 인자(flag)로 해석될 수 있습니다. 이를 통해 Vim, Emacs, Notepad++ 등의 에디터에서 의도치 않은 파일 덮어쓰기나 임의 명령 실행이 가능합니다. 이 문제는 2.14.2 버전에서 수정되었습니다.
💡 쉬운 설명
파일 이름 앞에 특수 기호를 붙여서 에디터를 실행할 때, 컴퓨터가 파일 이름이 아닌 '명령어'로 착각하게 만드는 공격입니다. 이를 통해 해커가 사용자의 파일을 마음대로 바꾸거나 나쁜 명령을 실행할 수 있습니다.
🇺🇸 원문 (English)
launch-editor allows users to open files with line numbers in editor from Node.js. Prior to 2.14.2, when an attacker can create a filesystem entry beginning with plus or minus in the working directory, an affected editor is selected, and the path can remain relative or is converted to a relative WSL path, launchEditor forwards the path without forcing it to be interpreted as a positional filename. Editor option parsing then treats the attacker-controlled filename as a command-line flag, which can cause unintended file overwrite or arbitrary command execution by the selected editor. The affected editors are Vim and gVim, MacVim, Emacs and Emacsclient, and Notepad++ when a plugin exposes dangerous operations; WSL path conversion keeps Vite and newer middleware callers exposed. This issue is fixed in version 2.14.2.
📍 영향받는 시스템
launch-editor 2.14.2 미만 버전 (Vim, Emacs, Notepad++ 등 사용 시)
⚔️ 공격 벡터
작업 디렉토리에 '+' 또는 '-'로 시작하는 악의적인 파일명을 생성하여 에디터 실행 시 인자 주입
🛡️ 대응 방법
launch-editor를 2.14.2 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 launch-editor의 버전이 2.14.2 미만인지 확인하십시오.