2024-03-19 18:45 (화)
리눅스 해킹, Vim이나 Neovim 에디터 여는 것만으로 가능해
상태바
리눅스 해킹, Vim이나 Neovim 에디터 여는 것만으로 가능해
  • 길민권 기자
  • 승인 2019.06.11 17:31
이 기사를 공유합니다

▲ Vim과 NeoVim의 코드 실행 취약점. 출처 github.com
▲ Vim과 NeoVim의 코드 실행 취약점. 출처 github.com
최근 리눅스 기반 OS에서 탑재되어 출시되고 있으며 가장 인기 있는 명령줄 텍스트 편집기인 Vim과 Neovim에서 심각한 취약점이 발견되었다. 이에 리눅스 OS, 특히 명령줄 텍스트 편집 유틸리티를 최근 업데이트하지 않았다면 Vim이나 Neovim을 사용해 콘텐츠를 열지 말아야 한다고 해외 보안연구가들이 당부했다.

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

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

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

Razmjou는 Vim 편집기가 ‘modelines’를 처리하는 과정에서 해당 취약점을 발견했다고 전했다.

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

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

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

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

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

이 외에도 연구원은 해당 취약점 예방을 위해 △Modelines 기능 비활성화 △Modeline의 수식을 비활성화하기 위하여 "Modelineexpr" 비활성화 △Vim modelines의 안전한 대안인 "securemodelines plugin" 사용 등을 추천했다.

★정보보안 대표 미디어 데일리시큐!★


■ 보안 사건사고 제보 하기

▷ 이메일 : mkgil@dailysecu.com

▷ 제보 내용 : 보안 관련 어떤 내용이든 제보를 기다립니다!

▷ 광고문의 : jywoo@dailysecu.com

★정보보안 대표 미디어 데일리시큐 / Dailysecu, Korea's leading security media!★