Vim의 취약점으로 인해 TXT를 열 때 코드 실행이 허용됨

정력

다양한 배포판에 사전 설치된 텍스트 편집기에서 새로운 취약점이 수정되었습니다. Linux가 발견되었습니다. Vim 및 Neovim 텍스트 편집기에서 (CVE-2019-12735)

이 편집기에서 발견 된 버그 사용자가 악성 텍스트 파일을 열 때 해커가 컴퓨터를 제어 할 수 있습니다. 이 문제는 기본적으로 활성화 된 modeline 활동 ( ": set modeline")으로 나타나며, 처리중인 파일에서 편집 옵션을 정의 할 수 있습니다.

Vim과 NeoVim 포크에는 모델 인에있는 결함이있었습니다. 이 기능을 사용하면 텍스트 파일의 시작 또는 끝 근처에 창 크기 및 기타 사용자 지정 옵션을 지정할 수 있습니다.

이 기능은 Vim 8.1.1365 Neovim 0.3.6 이전 버전에서 기본적으로 활성화되며 .txt 파일을 포함한 모든 파일 유형에 적용됩니다.

Vim의 취약점

Modeline을 통해 제한된 수의 옵션 만 허용됩니다. 에스표현식이 옵션 값으로 지정되면 가장 간단한 안전한 작업 만 사용할 수있는 샌드 박스 모드로 실행됩니다.

동시에, ": source"명령은 허용되는 명령 중 하나이며 수정 자 "!"를 사용할 수 있습니다. 지정된 파일에서 임의의 명령을 실행합니다.

따라서 코드를 실행하려면 "set foldexpr = execute ( '\ : source! Some_file') :"형식의 ​​구성을 모델 라인에 표시하는 것으로 충분합니다. Neovim에서는 실행 호출이 금지되어 있지만 assert_fails를 대신 사용할 수 있습니다.

반면 샌드 박스에서는 부작용을 방지하도록 설계되었습니다.

'foldexpr', 'formatexpr', 'includeexpr', 'indentexpr', 'statusline'및 'foldtext'옵션은 모두 샌드 박스에서 평가할 수 있습니다. 이것은 불쾌한 부작용으로 이러한 표현으로부터 보호된다는 것을 의미합니다. 이는 이러한 옵션이 모델에서 정의 될 때 일부 보안을 제공합니다.

모델은 사용 가능한 명령을 제한하고 운영 체제와 격리 된 환경에서 실행하지만 연구원 Armin Razmjou는 명령 : font! 이 보호를 우회했습니다.

연구원은 이달 초에 발표 된 메시지에서 "그녀는 수동으로 입력 한 것처럼 주어진 파일의 명령을 읽고 실행하며 샌드 박스가 남으면 실행한다"고 썼다. -ci.

따라서 샌드 박스 외부에서 코드를 실행하는 모델 라인을 간단하게 작성할 수 있습니다.

게시물에는 두 개의 원칙 증명 텍스트 파일이 포함되어 있습니다., 그 중 하나는 위협을 그래픽으로 보여줍니다.

그중 하나는 Vim 또는 NeoVim을 실행하는 컴퓨터에서 리버스 셸을 엽니 다. 거기에서 공격자는 요청 된 컴퓨터에서 원하는 명령을 실행할 수 있습니다.

Razmjou는 "이 PoC는 사용자가 파일을 열 때 리버스 쉘이 실행되는 실제 공격 접근 방식을 설명합니다. «공격을 숨기려면 파일이 열리면 즉시 다시 작성됩니다. 또한 PoC는 콘텐츠가 cat으로 인쇄 될 때 터미널 이스케이프 시퀀스를 사용하여 모델 라인을 숨 깁니다. (cat -v는 실제 내용을 보여줍니다). «

명령 실행 취약성에는 표준 모델링 기능 활성화가 필요합니다., 기본적으로 일부 Linux 배포판에서와 같이. 이 결함은 Vim 8.1.1365 이전 버전과 Neovim 0.3.6 이전 버전에서 발견되었습니다.

National Institute of Standards and Technology의 National Vulnerabilities Database의이 권고는 Debian 및 Fedora Linux 배포판이 수정 된 버전을 출시하기 시작했음을 보여줍니다.

분포에서 문제는 다음에서 해결됩니다. RHEL, SUSE / openSUSE, Fedora, FreeBSD, Ubuntu, Arch Linux 및 ALT.

취약점은 데비안에서 수정되지 않은 상태로 남아 있습니다. (Debian modeline에서는 기본적으로 비활성화되어 있으므로 취약점이 기본 상태로 나타나지 않습니다.)

MacOS의 최신 버전은 취약한 버전을 계속 사용하지만 공격은 사용자가 모델 인 기능이 활성화 된 기본 설정을 변경 한 경우에만 작동합니다.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자: AB Internet Networks 2008 SL
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.