🇰🇷 한글 설명
Vim 9.2.0845 미만 버전의 StructMembers() 함수에서 tags 파일의 특정 값이 충분히 이스케이프되지 않아 발생하는 취약점입니다. 사용자가 특정 조건에서 Omni-completion을 호출할 경우, 악의적으로 조작된 tags 파일을 통해 임의의 Ex 명령어나 운영체제 명령어가 실행될 수 있습니다.
💡 쉬운 설명
텍스트 편집기인 Vim에서 특수하게 조작된 파일을 열고 특정 기능을 사용하면, 해커가 내 컴퓨터에 몰래 명령을 내릴 수 있는 보안 약점입니다. 이 문제는 Vim의 자동 완성 기능이 잘못된 데이터를 처리할 때 발생합니다.
🇺🇸 원문 (English)
Vim is an open source, command line text editor. Prior to 9.2.0845, StructMembers() in runtime/autoload/ccomplete.vim constructs and executes a vimgrep command using an insufficiently escaped typeref: or typename: value from a tags file, allowing an unterminated collection followed by a command separator to execute arbitrary Ex and operating-system commands when a user invokes C omni-completion with CTRL-X CTRL-O on a member access whose type is resolved from that tags file. This issue is fixed in version 9.2.0845.
📍 영향받는 시스템
Vim version prior to 9.2.0845
⚔️ 공격 벡터
조작된 tags 파일을 포함한 프로젝트에서 사용자가 CTRL-X CTRL-O를 이용해 Omni-completion을 실행할 때 발생
🛡️ 대응 방법
Vim을 최신 버전인 9.2.0845 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 9.2.0845보다 낮으면 취약한 상태입니다.
vim --version | head -n 1 | grep -oE 'Vim (9\.[0-9]+\.[0-9]+)'