En sårbarhed i Vim tillod kodeudførelse, når du åbner en TXT

vim

En ny sårbarhed blev rettet i de forudinstallerede teksteditorer på forskellige distributioner Linux blev fundet i tekstredigererne Vim og Neovim (CVE-2019-12735).

Fejlen findes i disse redaktører giver hackere mulighed for at kontrollere computere, når brugere åbner en ondsindet tekstfil. Problemet manifesteres med modelineaktiviteten aktiveret som standard (": set modeline"), som giver dig mulighed for at definere redigeringsindstillingerne i den fil, der behandles.

Vim og dens NeoVim-gaffel indeholdt en fejl, der var i modelinerne. Denne funktion giver brugerne mulighed for at specificere vinduesdimensioner og andre brugerdefinerede muligheder nær begyndelsen eller slutningen af ​​en tekstfil.

Denne funktion er som standard aktiveret i versioner før Vim 8.1.1365 Neovim 0.3.6 og gælder for alle filtyper, inklusive .txt-filer.

Om sårbarhed i Vim

Gennem Modeline, kun et begrænset antal muligheder er tilladt. SHvis et udtryk er angivet som en indstillingsværdi, kører det i sandkassetilstand, hvilket kun tillader de enkleste sikre handlinger, der skal bruges.

På samme tid kommandoen ": source" er en af ​​de tilladte, hvor du kan bruge modifikatoren "!" at køre vilkårlige kommandoer fra den angivne fil.

For at udføre koden er det derfor tilstrækkeligt at indikere en model i linjen modeline med formen "set foldexpr = execute ('\: source! Some_file'):". I Neovim er det udførte opkald forbudt, men assert_fails kan bruges i stedet.

På den anden side er den i sandkassen designet til at forhindre bivirkninger:

Indstillingerne 'foldexpr', 'formatexpr', 'inclusiveeexpr', 'indentexpr', 'statusline' og 'foldtext' kan alle evalueres i en sandkasse. Dette betyder, at du er beskyttet mod disse udtryk med ubehagelige bivirkninger. Dette giver en vis sikkerhed, når disse indstillinger defineres ud fra en model.

Mens modellerne begrænser de tilgængelige kommandoer og udfører dem i et miljø isoleret fra operativsystemet, forsker Armin Razmjou bemærkede, at kommandoen: font! omgået denne beskyttelse:

"Hun læser og udfører kommandoerne i en given fil, som om de blev indtastet manuelt og udførte dem, når sandkassen er tilbage," skrev forskeren i en meddelelse, der blev offentliggjort tidligere på denne måned. -ci.

Således kan man trivielt bygge en modelinje, der udfører koden uden for sandkassen.

Post indeholder to proof-of-princip tekstfiler, hvoraf den ene illustrerer truslen grafisk.

En af dem åbner en omvendt skal på computeren, der kører Vim eller NeoVim. Derfra kunne angriberne starte kommandoer efter eget valg på den rekvirerede maskine.

"Denne PoC beskriver en reel angrebstilgang, hvor en omvendt shell startes, når brugeren åbner filen," skrev Razmjou. «For at skjule angrebet omskrives filen med det samme, når den åbnes. PoC bruger også terminale flugtsekvenser til at skjule modelinjen, når indhold udskrives med kat. (kat -v afslører det faktiske indhold). «

Sårbarhed ved kommandoudførelse kræver aktivering af standardmodelfunktionalitet, som i nogle Linux-distributioner som standard. Fejlen findes i Vim før version 8.1.1365 og i Neovim før version 0.3.6.

Denne rådgivning fra National Vulnerabilities Database fra National Institute of Standards and Technology viser, at Debian og Fedora Linux-distributioner er begyndt at frigive faste versioner.

I distributioner løses problemet i RHEL, SUSE / openSUSE, Fedora, FreeBSD, Ubuntu, Arch Linux og ALT.

Sårbarheden forbliver ukorrigeret i Debian (I Debian-modeline er det som standard deaktiveret, så sårbarheden manifesterer sig ikke i standardtilstanden).

Den seneste version af MacOS bruger fortsat en sårbar version, selvom angrebene kun fungerer, når brugerne har ændret en standardindstilling, der har modelines-funktionen aktiveret.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.