Et sikkerhetsproblem i Vim tillot kjøring av kode når du åpner en TXT

Vim

En ny sårbarhet ble løst i de forhåndsinstallerte tekstredigererne på forskjellige distribusjoner Linux ble funnet i tekstredigeringsprogrammet Vim og Neovim (CVE-2019-12735).

Feilen som finnes i disse redaktørene lar hackere kontrollere datamaskiner når brukere åpner en ondsinnet tekstfil. Problemet manifesteres med modellaktiviteten som er aktivert som standard (": set modeline"), som lar deg definere redigeringsalternativene i filen som behandles.

Vim og NeoVim-gaffelen inneholdt en feil som lå i modellene. Denne funksjonen lar brukerne spesifisere vindusdimensjoner og andre tilpassede alternativer nær begynnelsen eller slutten av en tekstfil.

Denne funksjonen er aktivert som standard i versjoner før Vim 8.1.1365 Neovim 0.3.6 og gjelder for alle filtyper, inkludert .txt-filer.

Om sårbarhet i Vim

Gjennom Modeline, bare et begrenset antall alternativer er tillatt. SHvis et uttrykk er spesifisert som en alternativverdi, kjører det i sandkassemodus, som bare tillater å bruke de enkleste sikre operasjonene.

Samtidig kommandoen ": source" er en av de tillatte, der du kan bruke modifikatoren "!" for å kjøre vilkårlige kommandoer fra den angitte filen.

Derfor, for å utføre koden, er det tilstrekkelig å indikere i modellinjen en konstruksjon av skjemaet "set foldexpr = execute ('\: source! Some_file'):". I Neovim er det ikke tillatt å utføre samtalen, men assert_fails kan brukes i stedet.

På den annen side, i sandkassen, er den designet for å forhindre bivirkninger:

Alternativene 'foldexpr', 'formatexpr', 'includeeexpr', 'indentexpr', 'statusline' og 'foldtext' kan alle evalueres i en sandkasse. Dette betyr at du er beskyttet mot disse uttrykkene med ubehagelige bivirkninger. Dette gir litt sikkerhet når disse alternativene er definert fra en modell.

Mens modellene begrenser tilgjengelige kommandoer og utfører dem i et miljø isolert fra operativsystemet, forsker Armin Razmjou bemerket at kommandoen: font! omgått denne beskyttelsen:

"Hun leser og utfører kommandoene i en gitt fil som om de ble skrevet inn manuelt, og utfører dem når sandkassen er igjen," skrev forskeren i en melding publisert tidligere denne måneden. -ci.

Dermed kan man trivielt bygge en modellinje som utfører koden utenfor sandkassen.

Innlegget inneholder to proof-of-prinsipp tekstfiler, hvorav den ene illustrerer trusselen grafisk.

En av dem åpner et omvendt skall på datamaskinen som kjører Vim eller NeoVim. Derfra kunne angriperne starte kommandoene de valgte på den rekvirerte maskinen.

"Denne poCen beskriver en virkelig angrepstilnærming der et omvendt skall blir lansert når brukeren åpner filen," skrev Razmjou. «For å skjule angrepet vil filen umiddelbart skrives om når den åpnes. PoC bruker også terminale rømningssekvenser for å skjule modellinjen når innholdet skrives ut med katten. (cat -v avslører det faktiske innholdet). «

Sårbarhet ved kommandokjøring krever aktivering av standard modelleringsfunksjonalitet, som i noen Linux-distribusjoner som standard. Mangelen er funnet i Vim før versjon 8.1.1365 og i Neovim før versjon 0.3.6.

Denne veiledningen fra National Vulnerabilities Database of the National Institute of Standards and Technology viser at Debian og Fedora Linux-distribusjoner har begynt å gi ut faste versjoner.

I distribusjoner er problemet løst i RHEL, SUSE / openSUSE, Fedora, FreeBSD, Ubuntu, Arch Linux og ALT.

Sårbarheten forblir ukorrigert i Debian (I Debian-modell er den deaktivert som standard, så sårbarheten manifesterer seg ikke i standardtilstand).

Den siste versjonen av MacOS bruker fortsatt en sårbar versjon, selv om angrepene bare fungerer når brukere har endret en standardinnstilling som har modellinjefunksjonen aktivert.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.