Vimi haavatavus võimaldas koodi käivitamist TXT avamisel

tarm

Eelinstallitud tekstiredaktorites fikseeriti erinev levitamine uus haavatavus Linux leiti tekstiredaktorites Vim ja Neovim (CVE-2019-12735).

Nendest toimetajatest leitud viga võimaldab häkkeritel kontrollida arvuteid, kui kasutajad avavad pahatahtliku tekstifaili. Probleem ilmneb vaikimisi lubatud modelli aktiivsusest (": set modeline"), mis võimaldab teil töödeldavas failis määratleda redigeerimisvalikud.

Vimil ja selle NeoVimi kahvlil oli viga, mis asus modellides. See funktsioon võimaldab kasutajatel tekstifaili alguse või lõpu lähedal määrata akna mõõtmed ja muud kohandatud valikud.

See funktsioon on vaikimisi lubatud versioonides, mis on varasemad kui Vim 8.1.1365 Neovim 0.3.6, ja see kehtib kõigi failitüüpide, sealhulgas .txt-failide kohta.

Vimi haavatavuse kohta

Modeline'i kaudu lubatud on ainult piiratud arv valikuid. SKui avaldise väärtus on määratud suvandi väärtusena, töötab see liivakasti režiimis, mis võimaldab kasutada ainult lihtsamaid ohutuid toiminguid.

Samal ajal käsk ": source" on üks lubatud, milles saate kasutada modifikaatorit "!" suvaliste käskude käivitamiseks määratud failist.

Seetõttu on koodi täitmiseks piisav, kui näidatakse mudeli real vormi "set foldexpr = execute ('\: source! Some_file'):" konstruktsioon. Neovimis on täitekõne keelatud, kuid selle asemel saab kasutada assert_fails.

Teiselt poolt on see liivakastis mõeldud kõrvaltoimete vältimiseks:

Valikuid 'foldexpr', 'formatexpr', 'includeeexpr', 'indentexpr', 'statusline' ja 'foldtext' saab kõiki hinnata liivakastis. See tähendab, et olete kaitstud ebameeldivate kõrvalmõjudega väljendite eest. See annab teatud turvalisuse, kui need suvandid on mudeli järgi määratletud.

Kuigi mudelid piiravad saadaolevaid käske ja täidavad neid opsüsteemist eraldatud keskkonnas, uurija Armin Razmjou märkis, et käsk: font! hoidus sellest kaitsest mööda:

"Ta loeb ja täidab antud failis olevaid käske nii, nagu oleks need käsitsi sisestatud, täites need siis, kui liivakast on alles," kirjutas teadlane selle kuu alguses avaldatud sõnumis. -ci.

Seega saab triviaalselt ehitada mudelliini, mis täidab koodi väljaspool liivakasti.

Postitus sisaldab kahte põhimõttelise tõestusega tekstifaili, millest üks illustreerib ohtu graafiliselt.

Üks neist avab Vim või NeoVim töötavas arvutis vastupidise kesta. Sealt said ründajad nõutava masina juures käivitada enda valitud käsklused.

"See PoC kirjeldab tõelist rünnakulähenemist, mille puhul käivitatakse vastupidine kest, kui kasutaja faili avab," kirjutas Razmjou. «Rünnaku varjamiseks kirjutatakse fail kohe pärast selle avamist ümber. Samuti kasutab PoC mudeli joone varjamiseks terminali põgenemisjärjestusi, kui sisu trükitakse kassiga. (kass -v paljastab tegeliku sisu). «

Käskude täitmise haavatavus nõuab standardsete modelleerimisfunktsioonide aktiveerimist, nagu mõnes Linuxi distributsioonis vaikimisi. Viga leiti Vimist enne versiooni 8.1.1365 ja Neovimist enne versiooni 0.3.6.

See Riikliku Standardi- ja Tehnoloogiainstituudi riikliku haavatavuse andmebaasi nõuanne näitab, et Debiani ja Fedora Linuxi distributsioonid on hakanud välja andma fikseeritud versioone.

Jaotustes lahendatakse probleem aastal RHEL, SUSE / openSUSE, Fedora, FreeBSD, Ubuntu, Arch Linux ja ALT.

Debianis on haavatavus parandamata (Debiani mudelis on see vaikimisi keelatud, nii et haavatavus ei avaldu vaikeseisundis).

MacOSi uusim versioon kasutab jätkuvalt haavatavat versiooni, kuigi rünnakud toimivad ainult siis, kui kasutajad on muutnud vaikesätet, millel on lubatud mudelite funktsioon.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutav: AB Internet Networks 2008 SL
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.