포스팅 내용

국내외 보안동향

Vim이나 Neovim 에디터를 여는 것만으로 리눅스 해킹 당할 수 있어

Your Linux Can Get Hacked Just by Opening a File in Vim or Neovim Editor


리눅스 OS, 특히 명령줄 텍스트 편집 유틸리티를 최근 업데이트하지 않았다면 Vim이나 Neovim을 사용하여 콘텐츠를 열지 말아야 합니다.


최근 대부분의 리눅스 기반 OS에서 탑재되어 출시되며, 가장 인기 있는 명령줄 텍스트 편집기인 Vim과 Neovim에서 심각한 취약점이 발견되었습니다.


보안 연구원인 Armin Razmjou는 유명 텍스트 편집기인 Vim과 Neovim에서 심각도 높은 임의 OS 명령어 실행 취약점 (CVE-2019-12735)을 발견했다고 전했습니다.


Vim 편집기는 사용자들이 리눅스 시스템에서 텍스트, 프로그래밍 스크립트, 문서를 포함한 모든 파일을 생성하고, 열람하거나 편집할 수 있도록 도와줍니다.


Neovim은 사용자 경험, 플러그인, GUI가 개선된 Vim의 확장 버전이기 때문에 Vim과 동일하게 코드 실행 취약점이 존재합니다.


Vim과 NeoVim의 코드 실행 취약점


Razmjou는 Vim 편집기가 "modelines"를 처리하는 과정에서 해당 취약점을 발견했습니다.


Modelines는 문서의 시작 및 마지막 라인 근처에 파일의 제작자가 언급한 커스텀 설정 세트를 자동으로 찾아 적용하는 기능으로 기본으로 활성화되어 있습니다.


<이미지 출처: https://github.com/numirias/security/blob/master/doc/2019-06-04_ace-vim-neovim.md>


만약 편집기가 보안상의 이유로 modelines의 옵션 서브셋만을 허용하고 안전하지 않은 수식을 포함한다면, 샌드박스 보호를 사용하고 있지만 ":source!"명령어([!] 변경자)를 사용해 샌드박스를 우회할 수 있습니다.


따라서 Vim이나 Neovim을 통해 특수하게 제작된 파일을 오픈하는 것만으로 공격자가 피해자의 리눅스 시스템에서 은밀히 명령을 실행하고 제어권을 탈취할 수 있습니다.


해당 연구원은 PoC 익스플로잇 2개도 공개했는데, 이 중 하나는 피해자가 파일을 오픈하는 순간 원격 공격자가 피해자 시스템의 리버스 셸에 접근할 수 있는 실제 공격 시나리오입니다.


Vim (8.1.1365) 및 Neovim (v0.3.6) 개발자는 문제 해결을 위한 업데이트를 공개했으며, Vim과 Neovim을 사용하는 사용자들께서는 가능한 한 빨리 해당 업데이트를 설치하시기 바랍니다.


이 외에도, 연구원은 해당 취약점 예방을 위해 아래 방법을 추천했습니다.

- Modelines 기능 비활성화

- Modeline의 수식을 비활성화하기 위하여 "Modelineexpr" 비활성화

- Vim modelines의 안전한 대안인 "securemodelines plugin" 사용



출처:

https://thehackernews.com/2019/06/linux-vim-vulnerability.html

https://github.com/numirias/security/blob/master/doc/2019-06-04_ace-vim-neovim.md

티스토리 방명록 작성
name password homepage