Vulnerabilitet në Vim, që çon në ekzekutimin e kodit kur hapet një skedar i dëmshëm

Në redaktorët e tekstit Vim dhe Neovim gjet vulnerabiliteti (CVE-2019-12735), që mundëson ekzekutimin e kodit të rastësishëm kur hapet një skedë e veçuar. Problemi shfaqet kur është aktivizuar ndarja e paracaktuar e modeline («:set modeline»), e cila lejon përcaktimin e opsioneve të redaktimit në skedën e trajtuar. Vulnerabiliteti është rregulluar në lëshimet
Vim 8.1.1365 dhe Neovim 0.3.6.

PĂ«rmes modeline lejohet vendosja e njĂ« numri tĂ« kufizuar opsionesh. NĂ«se si vlerĂ« e opsionit jepet njĂ« shprehje, ajo ekzekutohet nĂ« mĂ«nyrĂ«n sandbox, qĂ« lejon vetĂ«m operacione tĂ« thjeshta dhe tĂ« sigurta. NĂ« tĂ« njĂ«jtĂ«n kohĂ«, midis opsioneve tĂ« lejuara pĂ«rfshihet komandĂ« «:source», ku mund tĂ« pĂ«rdoret modifikatori «!» pĂ«r tĂ« ekzekutuar komandat e rastĂ«sishme nga skeda e specifikuar. KĂ«shtu, pĂ«r tĂ« ekzekutuar kodin, mjafton tĂ« jepet nĂ« rreshtin modeline njĂ« strukturĂ« tĂ« tillĂ« si «set foldexpr=execute(‘\:source! some_file’):». NĂ« Neovim thirrja e execute Ă«shtĂ« e ndaluar, por nĂ« vend tĂ« saj mund tĂ« pĂ«rdoret assert_fails.

Për shembull, për të ekzekutuar komandën «uname -a» mjafton thjesht të hapni në Vim ose Neovim një skedë, ku në rreshtin e parë ose të fundit është e shkruar:

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

Komanda «source! %» do të lexojë komandat nga skeda aktuale dhe, për pasojë, do të ekzekutojë «:!uname -a». Për të fshehur këtë rresht nga dalja e utilitarit cat mund të përdoren sekvenca escape. Për shembull, në këtë rast gjatë kryerjes së operacioneve të kopjimit nga kontejneri u arrit të realizohej një sulm i suksesshëm në më pak se 1% të rasteve gjatë zëvendësimit ciklik të lidhjes simbolike në rrugën e përdorur në operacionin e kopjimit (sulmi i suksesshëm u realizua pas rreth 10 sekondash përpjekjesh të vazhdueshme për të kopjuar skedarin me komandën «docker cp»). kur hapet skeda në vim krijohet një lidhje rrjeti me akses në shell në sistemin e viktimës, por kjo skedë nuk do të ngjallë dyshime gjatë daljes në terminal nga utilitari cat.

Të kontrolloni aktivizimin e modës modeline mund të bëni me komandën «:set modeline?». Për ta çaktivizuar në vimrc mund të shtoni rreshtin «set nomodeline». Në shpërndarjet e problemit është rregulluar në RHEL, SUSE/openSUSE, Fedora, FreeBSD, Ubuntu, Arch Linux dhe ALT. Vulnerabiliteti mbetet i papërmirësuar në Debian (në Debian modeline është çaktivizuar për parazgjedhje, kështu që në gjendjen e tij fillestare, vulnerabiliteti nuk shfaqet).

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster