Hatari katika Vim ambayo husababisha utekelezaji wa nambari wakati wa kufungua faili hasidi

Katika wahariri wa maandishi Vim ΠΈ neovim kupatikana kuathirika (CVE-2019-12735), ambayo inaruhusu msimbo wa kiholela kutekelezwa wakati wa kufungua faili iliyoundwa maalum. Tatizo hutokea wakati hali ya modeli ya chaguo-msingi (":set modeline") inafanya kazi, ambayo inakuwezesha kufafanua chaguo za uhariri katika faili iliyochakatwa. Athari imerekebishwa katika matoleo
Vim 8.1.1365 ΠΈ Neovim 0.3.6.

Ni idadi ndogo tu ya chaguo zinaweza kusakinishwa kupitia modeline. Ikiwa usemi umebainishwa kama thamani ya chaguo, hutekelezwa katika hali ya kisanduku cha mchanga, ambayo inaruhusu utendakazi rahisi tu salama. Katika kesi hii, amri halali inajumuisha amri ya ": chanzo", ambayo unaweza kutumia kirekebishaji cha "!". kutekeleza amri za kiholela kutoka kwa faili maalum. Kwa hivyo, kutekeleza msimbo, inatosha kuonyesha katika mstari wa modeli ujenzi kama "set foldexpr=execute('\:source! some_file'):". Katika Neovim, utekelezaji wa kupiga simu umepigwa marufuku, lakini assert_fails inaweza kutumika badala yake.

Kwa mfano, kutekeleza amri ya "uname -a", fungua faili katika Vim au Neovim ambayo mstari wa kwanza au wa mwisho unasema:

:!uname -a||Β» vi:fen:fdm=expr:fde=assert_fails(β€œchanzo\!\ \%”):fdl=0:fdt=”

Kampuni "chanzo! %" itasoma amri kutoka kwa faili ya sasa na ipasavyo kutekeleza ":!uname -a". Mipangilio ya kutoroka inaweza kutumika kuficha laini fulani kutoka kwa pato na shirika la paka. Kwa mfano, katika hili kutumia mfano wakati wa kufungua faili katika vim, muunganisho wa mtandao huundwa na ufikiaji wa ganda kwa mfumo wa mhasiriwa, lakini faili hii haitasababisha mashaka wakati pato kwa terminal kwa kutumia matumizi ya paka.

Unaweza kuangalia shughuli ya modeline kwa amri ": set modeline?". Ili kuizima, unaweza kuongeza mstari "kuweka nomodeline" kwa vimrc. Katika usambazaji, shida hutatuliwa RHEL, SUSE/openSUSE, Fedora, FreeBSD, Ubuntu, Arch Linux ΠΈ ALT. Athari bado haijawekwa Debian (katika Debian modeline imezimwa kwa chaguo-msingi, kwa hivyo uwezekano wa kuathirika hauonekani katika hali chaguo-msingi).

Chanzo: opennet.ru

Kuongeza maoni