Vim'i haavatavus, mis vÔib pÔhjustada koodi tÀitmist pahatahtliku faili avamisel

Tekstiredaktorites Vim ja Neovim leitud haavatavus (CVE-2019-12735), mis vĂ”imaldab tĂ€itmist juhuslikku koodi, kui avatakse spetsiaalselt loodud fail. Probleem ilmneb vaikimisi lubatud modeline reĆŸiimi („:set modeline”) aktiivsuse korral, mis vĂ”imaldab mÀÀrata töötavas failis redigeerimise vĂ”imalusi. RĂŒnnakuvĂ”ime on likvideeritud vĂ€ljalaskes
Vim 8.1.1365 ja Neovim 0.3.6.

Modeline'i kaudu on lubatud mÀÀrata ainult piiratud hulga vĂ”imalusi. Kui vĂ”imaluse vÀÀrtuseks on antud vĂ€ljend, siis see tĂ€idetakse santi reĆŸiimis, mis lubab kasutada ainult kĂ”ige lihtsamaid ohutuid toiminguid. Siiski kuulub lubatud hulka kĂ€sk „:source”, kus saab kasutada modifikaatorit „!”, et kĂ€ivitada juhuslikke kĂ€ske nĂ€idatud failist. Seega on koodi tĂ€itmiseks piisav, kui modeline'i real on struktuur, mis nĂ€eb vĂ€lja nagu „set foldexpr=execute(‘\:source! some_file’):”. Neovimis on execute'i kutsumine keelatud, kuid selle asemel vĂ”ib kasutada assert_fails.

NĂ€iteks kĂ€sk „uname -a” tĂ€itmiseks on lihtsalt piisav avada Vim vĂ”i Neovim fail, mille esimene vĂ”i viimane rida on mĂ€rgitud:

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

KĂ€sk «source! %» loeb kĂ€sklusi jooksval failil ja vastavalt tĂ€idab «:!uname -a». Cat utiliitide vĂ€ljundi varjamiseks vĂ”idakse kasutada escape-jĂ€rjestusi. NĂ€iteks, selle tekstiga utiliseeritud prototĂŒĂŒbiga, faili avamisel vim'is luuakse vĂ”rguĂŒhendus shell-priipÀÀsuga ohvri sĂŒsteemi, kuid see fail ei tekita suspicion cat utiliidi vĂ€ljundis.

Modeline reĆŸiimi aktiivsust saab kontrollida kĂ€suga «:set modeline?». Vimrc'is saab selle vĂ€ljalĂŒlitamiseks lisada rea «set nomodeline». Jaotistes on probleem eemaldatud RHEL, SUSE/openSUSE, Fedora, FreeBSD, Ubuntu, Arch Linuxis ja ALT. Haavatavust ei ole parandatud Debian (Debian'is on modeline vaikimisi vĂ€lja lĂŒlitatud, seega vaikimisi olekus haavatavus ei ilminga).

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster