So-leòntachd ann an Vim a tha a’ leantainn gu coileanadh còd nuair a dh’ fhosglas tu faidhle droch-rùnach

Ann an luchd-deasachaidh teacsa Vim и Neoim fhuaradh so-leòntachd (CVE-2019-12735), a leigeas le còd neo-riaghailteach a chuir gu bàs nuair a dh’ fhosglas tu faidhle a chaidh a dhealbhadh gu sònraichte. Bidh an duilgheadas a’ tachairt nuair a tha am modh modail àbhaisteach (“: set modeline”) gnìomhach, a leigeas leat roghainnean deasachaidh a mhìneachadh anns an fhaidhle giullachd. So-leòntachd stèidhichte ann an sgaoilidhean
Vim 8.1.1365 и Nuadh 0.3.6.

Chan urrainnear ach àireamh bheag de roghainnean a chuir a-steach tro modeline. Ma tha abairt air a shònrachadh mar luach roghainn, thèid a chur gu bàs ann am modh bogsa gainmhich, a leigeas leis na h-obraichean sàbhailte as sìmplidh a-mhàin. Anns a ’chùis seo, tha an àithne dligheach a’ toirt a-steach an àithne “: source”, anns an urrainn dhut am mion-atharrachaidh “!” a chleachdadh. gus òrdughan neo-riaghailteach a ruith bhon fhaidhle ainmichte. Mar sin, gus an còd a chur an gnìomh, tha e gu leòr airson togail mar “set foldexpr = execute ('\: source! some_file') a chomharrachadh anns an loidhne mhodail):". Ann an Neovim, tha gairm gu bàs air a thoirmeasg, ach faodar assert_fails a chleachdadh na àite.

Mar eisimpleir, gus an àithne “uname -a” a ruith, dìreach fosgail faidhle ann an Vim no Neovim aig a bheil a’ chiad loidhne no an loidhne mu dheireadh ag ràdh:

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

Companaidh “stòr! Leughaidh %" na h-àitheantan bhon fhaidhle làithreach agus mar sin cuiridh e an gnìomh ":!uname -a". Faodar sreathan teiche a chleachdadh gus loidhne shònraichte fhalach bho thoraidhean leis a’ ghoireas cat. Mar eisimpleir, ann an seo brath a ghabhail air prototype nuair a dh’ fhosglas tu faidhle ann an vim, thèid ceangal lìonraidh a chruthachadh le ruigsinneachd shligean gu siostam an neach-fulaing, ach cha tog am faidhle seo amharas nuair a thèid a chur a-mach chun cheann-uidhe a’ cleachdadh goireas a’ chait.

Faodaidh tu sgrùdadh a dhèanamh air gnìomhachd modh modeline leis an àithne “: set modeline?”. Gus a chuir dheth, faodaidh tu an loidhne “set nomodeline” a chuir ri vimrc. Ann an sgaoilidhean tha an duilgheadas air a rèiteachadh ann an RHEL, SUSE/openSUSE, Fedora, FreeBSD, Ubuntu, Arch Linux и ALT. Tha an so-leòntachd fhathast gun atharrachadh Debian (ann am modal Debian tha ciorramach gu bunaiteach, agus mar sin chan eil an so-leòntachd a’ nochdadh anns an stàit bunaiteach).

Source: fosgailtenet.ru

Cuir beachd ann