Vimin haavoittuvuus mahdollisti koodin suorittamisen TXT: tä avattaessa

puhti

Esi jaetuissa esiasennetuissa tekstieditorissa korjattiin uusi haavoittuvuus Linux löydettiin Vim- ja Neovim-tekstieditorissa (CVE-2019-12735).

Näistä toimittajista löytynyt virhe antaa hakkereiden hallita tietokoneita, kun käyttäjät avaavat haitallisen tekstitiedoston. Ongelma ilmenee oletusarvoisesti sallitusta mallinnustoiminnasta (": set modeline"), jonka avulla voit määrittää muokkausvaihtoehdot käsiteltävässä tiedostossa.

Vim ja sen NeoVim-haarukka sisälsivät virheen, joka asui malleissa. Tämän ominaisuuden avulla käyttäjät voivat määrittää ikkunan mitat ja muut mukautetut vaihtoehdot tekstitiedoston alun tai lopun lähellä.

Tämä ominaisuus on oletusarvoisesti käytössä versioissa, jotka ovat vanhempia kuin Vim 8.1.1365 Neovim 0.3.6, ja se koskee kaikkia tiedostotyyppejä, mukaan lukien .txt-tiedostot.

Tietoja Vimin haavoittuvuudesta

Modeline, vain rajoitettu määrä vaihtoehtoja on sallittu. SJos lauseke määritetään vaihtoehdon arvoksi, se toimii hiekkalaatikkotilassa, mikä sallii vain yksinkertaisten turvallisten toimintojen käytön.

Samalla komento ": lähde" ​​on yksi sallituista, jossa voit käyttää muokkaajaa "!" suorittaa mielivaltaisia ​​komentoja määritetystä tiedostosta.

Siksi koodin suorittamiseksi riittää, että mallinnusrivillä ilmoitetaan rakenteen muoto "set foldexpr = execute ('\: source! Some_file'):". Neovimissa suorituspuhelu on kielletty, mutta sen sijaan voidaan käyttää assert_fails.

Toisaalta hiekkalaatikossa se on suunniteltu estämään sivuvaikutukset:

Vaihtoehdot 'foldexpr', 'formatexpr', 'includeeexpr', 'indentexpr', 'statusline' ja 'foldtext' voidaan kaikki arvioida hiekkalaatikossa. Tämä tarkoittaa, että olet suojattu näiltä ilmeiltä, ​​joilla on epämiellyttäviä sivuvaikutuksia. Tämä tarjoaa jonkin verran turvallisuutta, kun nämä vaihtoehdot määritetään mallista.

Vaikka mallit rajoittavat käytettävissä olevia komentoja ja suorittavat ne käyttöjärjestelmästä eristetyssä ympäristössä, tutkija Armin Razmjou totesi, että komento: font! kiertänyt tämän suojan:

"Hän lukee ja suorittaa tietyn tiedoston komennot ikään kuin ne olisi syötetty manuaalisesti, ja suorittaa ne heti, kun hiekkalaatikko on jäljellä", tutkija kirjoitti aiemmin tässä kuussa julkaistussa viestissä. -ci.

Siten voidaan triviaalisesti rakentaa mallirivi, joka suorittaa koodin hiekkalaatikon ulkopuolella.

Posti sisältää kaksi periaatekohtaista tekstitiedostoa, joista yksi kuvaa graafisesti uhkaa.

Yksi niistä avaa käänteisen kuoren tietokoneessa, jossa on Vim tai NeoVim. Sieltä hyökkääjät voivat käynnistää valitsemansa komennot vaaditulla koneella.

"Tämä PoC kuvaa todellista hyökkäysmenetelmää, jossa käänteinen kuori käynnistetään, kun käyttäjä avaa tiedoston", Razmjou kirjoitti. «Hyökkäyksen piilottamiseksi tiedosto kirjoitetaan välittömästi uudelleen, kun se avataan. PoC käyttää myös terminaalisia pakosarjoja piilottaakseen mallin, kun sisältö tulostetaan kissalla. (kissa -v paljastaa todellisen sisällön). «

Komentojen suorittamisen haavoittuvuus vaatii vakiomallinnustoimintojen aktivoinnin, kuten joissakin Linux-jakeluissa oletuksena. Vika löytyy Vimistä ennen versiota 8.1.1365 ja Neovimista ennen versiota 0.3.6.

Tämä National Institute of Standards and Technology -tietokannan kansallisen haavoittuvuustietokannan neuvonta osoittaa, että Debian- ja Fedora Linux -jakelut ovat alkaneet julkaista kiinteitä versioita.

Jakeluissa ongelma ratkaistaan RHEL, SUSE / openSUSE, Fedora, FreeBSD, Ubuntu, Arch Linux ja ALT.

Haavoittuvuus on edelleen korjattu Debianissa (Debian-mallinnuksessa se on oletusarvoisesti pois käytöstä, joten haavoittuvuus ei ilmene oletustilassa).

Uusin MacOS-versio käyttää edelleen haavoittuvaa versiota, vaikka hyökkäykset toimivat vain, kun käyttäjät ovat muuttaneet oletusasetusta, jossa mallineominaisuus on käytössä.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.