Kerentanan ing Vim sing ndadékaké eksekusi kode nalika mbukak file ala

Ing editor teks Vim и anyaran ketemu kerentanan (CVE-2019-12735), sing ngidini kode sewenang-wenang dieksekusi nalika mbukak file sing dirancang khusus. Masalah kasebut kedadeyan nalika mode model standar (": set modeline") aktif, sing ngidini sampeyan nemtokake pilihan panyuntingan ing file sing diproses. Kerentanan tetep ing rilis
Vim 8.1.1365 и Neovit 0.3.6.

Mung sawetara opsi winates bisa diinstal liwat modeline. Yen ekspresi kasebut minangka nilai pilihan, dieksekusi ing mode kothak wedhi, sing mung ngidini operasi aman sing paling gampang. Ing kasus iki, printah sing bener kalebu printah ": sumber", ing ngendi sampeyan bisa nggunakake modifier "!". kanggo mbukak printah sembarang saka file tartamtu. Mangkono, kanggo nglakokake kode kasebut, cukup kanggo nunjukake ing baris model konstruksi kaya "set foldexpr = eksekusi ('\: source! some_file'):". Ing Neovim, nelpon eksekusi dilarang, nanging assert_fails bisa digunakake.

Contone, kanggo mbukak printah "uname -a", mung mbukak file ing Vim utawa Neovim sing baris pisanan utawa pungkasan ngandika:

:!uname -a||» vi:fen:fdm=expr:fde=assert_fails(“sumber\!\ \%”):fdl=0:fdt=”

Perusahaan "sumber! %" bakal maca printah saka berkas saiki lan kudu nglakokaké ":!uname -a". Urutan uwal bisa digunakake kanggo ndhelikake baris tartamtu saka output dening utilitas kucing. Contone, ing iki ngeksploitasi prototipe nalika mbukak file ing vim, sambungan jaringan digawe kanthi akses cangkang menyang sistem korban, nanging file iki ora bakal nggawe anggepan nalika output menyang terminal nggunakake sarana kucing.

Sampeyan bisa mriksa aktivitas mode modeline kanthi printah ": nyetel modeline?". Kanggo mateni, sampeyan bisa nambah baris "nyetel nomodeline" menyang vimrc. Ing distribusi masalah ditanggulangi ing RHEL, SUSE/openSUSE, Fedora, FreeBSD, ubuntu, Linux Arch и ALT. Kerentanan tetep ora ditambal Debian (ing model Debian dipateni kanthi gawan, dadi kerentanan ora katon ing kahanan gawan).

Source: opennet.ru

Add a comment