vim upgrade or 업그레이드 내역 확인 하기!
Vim과 Neovim 편집기에서 OS 명령어 실행 취약점 발견 2019.06.13
- 보안 연구원 Armin Razmjou는 최근 리눅스에서 가장 인기 있는 커맨드라인 텍스트 편집 유틸리티인 Vim과 Neovim에서 심각도 높은 임의 OS 명령 실행 취약점(CVE-2019-12735)을 발견
- Vim 편집기 : 사용자들이 리눅스에서 텍스트, 스크립트, 문서를 포함한 파일을 생성하고, 열람하거나 수정할 수 있는 프로그램
- Neovim 편집기 : 플러그인, GUI 등이 개선된 Vim 확장 버전 프로그램
- Vim 편집기 : 사용자들이 리눅스에서 텍스트, 스크립트, 문서를 포함한 파일을 생성하고, 열람하거나 수정할 수 있는 프로그램
-
이 취약점은 “modlines”를 처리하는 과정에서 발견됨 + modelines : 문서의 시작과 마지막 라인 근처에 파일의 제작자가 언급한 커스텀 설정 세트를 자동으로 찾아 적용하는 기능으로 기본으로 활성화되어 있음
-
비록 보안상의 이유로 modelines의 서브셋만을 허용하고 샌드박스 보호를 사용할지라도 “:source!” 명령어를 사용하면 샌드박스를 우회할 수 있음
-
따라서, Vim이나 Neovim을 사용해 특별히 제작된 파일을 열람하는 것만으로도 공격자가 피해자의 리눅스 시스템에서 명령을 실행하고 제어권을 탈취할 수 있음
-
Vim(8.1.1365)과 Neovim(v0.3.6)은 해당 취약점 문제 해결을 위해 최근 업데이트를 발표
- 해결 방안
- modelines 기능 비활성화
- modelines의 수식을 비활성화 하기 위한 “modelineexpr” 비활성화
- Vim modelines의 대한인 “securemodelines plugin” 사용
시사점
- 리눅스 및 Vim과 Neovim 에디터를 최신 버전으로 업데이트하고, 주기적인 권한 탈취 여부 확인
vim 확인 하기
vim upgrade 하기
sudo apt-get upgrade vim 명령어를 이용해서 업그레이드를 할 수 있다.
만약 업그레이드를 할 내용이 없으면 다음과 같은 결과가 확이 된다.
$> sudo apt-get upgrade vim
Reading package lists... Done
Building dependency tree
Reading state information... Done
vim is already the newest version (2:8.0.1453-1ubuntu1.1).
Calculating upgrade... Done
The following package was automatically installed and is no longer required:
linux-aws-headers-4.15.0-1035
Use 'sudo apt autoremove' to remove it.
The following packages have been kept back:
linux-aws linux-headers-aws linux-image-aws
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
vim 최신 버젼으로 강제 업데이트 하기
PPA를 이용해서 최신 버젼으로 업데이트를 한다.
$> sudo add-apt-repository ppa:jonathonf/vim
$> sudo apt update
$> sudo apt install vim
vim upgrade 내역 확인 하기
changelog를 확인하면 업데이트 기록이 확인 된다. 다음과 같인 로그가 있다면, CVE-2019-12735.patch에 대한 패치가 되어 있는 것이다.
$> apt changelog vim
vim (2:8.0.1453-1ubuntu1.1) bionic-security; urgency=medium
* SECURITY UPDATE: Arbitrary code execution
- debian/patches/CVE-2019-12735.patch: disallow
sourcing a file in the sandbox in src/getchar.c
- CVE-2019-12735
-- Leonidas S. Barbosa <leo.barbosa@canonical.com> Thu, 06 Jun 2019 14:31:41 -0300
대부분 서비스를 확인하니 이미 패치가 되어 있었다.