Vraag:
Kwetsbaarheden voor het Vim-model
Sam King
2013-05-16 04:08:25 UTC
view on stackexchange narkive permalink

Ik gebruik vim en heb een use case voor modelines. Een modeline betekent dat vim een ​​tekstbestand ontleedt voor regels als:

  # vim: set someoption = somevalue  

en vervolgens die opties instelt. Dit is geweldig als ik de persoon ben die de modelines schrijft, maar het zou ook de veronderstelling kunnen verbreken dat ik niet-vertrouwde tekstbestanden zonder schade kan openen met mijn teksteditor.

Stel dat ik een bijgewerkte versie van vim. Stel dat ik het niet erg vind als iemand vervelende opties kan instellen die de zaken er slecht uit laten zien (bijvoorbeeld rommelen met de tabbreedte). Wat kan een kwaadaardig tekstbestand doen?

Bedankt!

Idealiter niet veel, maar in de praktijk is het niet zo ideaal als het ideaal doet vermoeden.Zoek gewoon naar [vim modeline kwetsbaarheid] (https://www.google.com/search?q=vim+modeline+kwetsbaarheid) voor een paar voorbeelden van hoe dit in het verleden is misgegaan.Dit is een deel van de reden waarom modeline-ondersteuning standaard is uitgeschakeld als u vim als root gebruikt.
Drie antwoorden:
Calimo
2017-04-20 20:16:25 UTC
view on stackexchange narkive permalink

Hoewel modelines je in theorie niet zouden moeten toestaan ​​om iets slechts te doen, is het moeilijk om de invoer van modelfuncties op te schonen. Er zijn in het verleden verschillende beveiligingsproblemen geweest die het uitvoeren van willekeurige opdrachten of DoS-aanvallen mogelijk maakten. Om een ​​paar kwetsbaarheden uit het verleden te noemen die ik kon vinden:

Hoewel ik denk dat ze allemaal zijn verholpen, blijven er nieuwe kwetsbaarheden opduiken en is het waarschijnlijk dat soortgelijke kwetsbaarheden in de toekomst zullen worden gevonden.Daarom schakelen distributies standaardmodellen uit (tenminste Debian en SuSE ).

CVE-2019-12735 is een andere met ingang van 2016-06-11,
@JoeMcMahon bedankt, toegevoegd!
Het is fundamenteel onmogelijk om te garanderen dat alle modeline-gerelateerde beveiligingskwetsbaarheden ooit "volledig" zijn opgelost :-) zolang het nog mogelijk is om ingesloten instructies op te nemen die moeten worden uitgevoerd door de code die naar de gegevens in de gegevens zelf kijkt.Dit is de reden waarom de documentatie voor Keith Bostic's * nvi * altijd over `modelines 'heeft gezegd dat de optie niet geïmplementeerd is en dat het nooit zal gebeuren.Dit is net als alle beveiligingsfouten die voortkomen uit in bestanden ingesloten opdrachten of macro-instructies die in PDF, Word, Excel en c & c & c worden uitgevoerd.
Pete Riches
2020-04-12 05:58:27 UTC
view on stackexchange narkive permalink

Aangezien de oorspronkelijke vraag is getagd met " aanvalspreventie ", ga ik dat opvatten als een verzoek van de vragensteller om beschikbare beperking. Ik hoop dat dit in orde is.

Er is een plug-in beschikbaar op de officiële vim-website: securemodelines. Het beperkt wat er kan worden gedaan met een vim-modeline, afhankelijk van de inhoud van een witte lijst. De karma-score van de plug-in op de vim-website is gezond, met een gemiddelde beoordeling (beoordeling per download) vergelijkbaar met die van The NERD Tree plug-in.

De oorspronkelijke maker, Dr. Ciaran McCreesh, heeft de ontwikkeling verplaatst naar GitHub, van waaruit verschillende ontwikkelaars het hebben gevorkt en aangepast aan hun eigen behoeften, zoals te zien is in deze GitHub-netwerkgrafiek.

De originele documentatie staat nog steeds op de officiële vim-website, zoals hierboven gelinkt. 1

teknopaul
2015-11-17 04:20:26 UTC
view on stackexchange narkive permalink

Vim-modellijnen hebben in het verleden fouten met het uitvoeren van willekeurige code gehad.
Dus ze konden in het verleden veel schade aanrichten.

Eerst opgemerkt in 6.3, opgelost, een aantal soortgelijke vulns werden later gevonden.

Aangezien het risico inherent is (data en code combineren), zijn modelregels over het algemeen uitgeschakeld voor root.

Zoals ik het begrijp, zijn eerdere bugs opgelost, behalve voor niet-gepubliceerde problemen Met behulp van moderne Vim is het veilig om niet-vertrouwde bestanden te openen met modelines aan.



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 3.0-licentie waaronder het wordt gedistribueerd.
Loading...