Una vulnerabilitat en Vim permetia l'execució de codi a l'obrir un TXT

empenta

Una nova vulnerabilitat va ser corregida en els editors de text preinstal·lats en diverses distribucions de Linux va ser trobada en els editors de text Vim i Neovim (CVE-2019-12735).

La decisió trobat en aquests editors permet als hackers controlar els equips quan els usuaris obren un arxiu de text maliciós. El problema es manifesta amb l'activitat de la modeline habilitada per defecte ( «: set modeline»), que permet definir les opcions d'edició en l'arxiu que s'està procesand.

Vim i el seu fork NeoVim contenien una falla que residia en els modeline. Aquesta funció permet als usuaris especificar les dimensions de les finestres i altres opcions personalitzades prop de el principi o final d'un arxiu de text.

Aquesta funció està habilitada per defecte en versions anteriors a Vim 8.1.1365 Neovim 0.3.6 i s'aplica a tots els tipus d'arxius, inclosos els arxius .txt.

Sobre la vulnerabilitat en Vim

A través d'Modeline, només es permet un nombre limitat d'opcions. Si una expressió s'especifica com un valor d'opció, s'executa en la manera de caixa de sorra, que permet utilitzar només les operacions segures més simples.

Alhora, la comanda «: obert" és un dels permesos, en el qual pot fer servir el modificador «!» per a executar comandaments arbitraris des de l'arxiu especificat.

Per tant, per executar el codi, és suficient indicar en la línia de modeline una construcció de la forma «setembre foldexpr = execute ( '\: source! Some_file'):». En Neovim, l'anomenada d'execució està prohibida, però en el seu lloc es pot usar assert_fails.

D'altra banda en el sandbox, aquest està dissenyat per prevenir efectes secundaris:

«Les opcions 'foldexpr', 'formatexpr', 'includeexpr', 'indentexpr', 'statusline' i 'foldtext' poden avaluar-se en un sandbox. Això vol dir que està protegit contra aquestes expressions amb efectes secundaris desagradables. Això proporciona certa seguretat quan aquestes opcions es defineixen a partir d'un model ».

Mentre que els models limiten les ordres disponibles i els s'executen en un entorn aïllat de el sistema operatiu, l'investigador Armin Razmjou va notar que la comanda: font! va eludir aquesta protecció:

«Ella llegeix i executa les ordres d'un arxiu donat com si es ingressessin manualment, executant-los una vegada que s'ha deixat el sorral», va escriure l'investigador en un missatge publicat a principis d'aquest mes. -ci.

Per tant, un pot construir de forma trivial una línia de model que executi el codi fora de la sandbox.

La publicació inclou dos arxius de text de prova de principi, Un dels quals il·lustra gràficament l'amenaça.

Un d'ells obre una shell inversa a l'ordinador que executa Vim o NeoVim. Des d'allà, els atacants podrien llançar les ordres de la seva elecció cap a la màquina requisada.

«Aquest PoC descriu un enfocament d'atac real en el qual es llança un shell invertit quan l'usuari obre l'arxiu», va escriure Razmjou. «Per amagar l'atac, l'arxiu es refarà immediatament quan s'obri. A més, PoC fa servir seqüències d'escapament de terminal per ocultar la línia de model quan el contingut s'imprimeix amb cat. (Cat -v revela el contingut real). «

La vulnerabilitat d'execució de la comanda requereix l'activació de la funcionalitat de modelatge estàndard, Com en algunes distribucions de Linux per defecte. El defecte es troba en Vim abans de la versió 8.1.1365 i en Neovim abans de la versió 0.3.6.

Aquest avís de la base de dades de Vulnerabilitats Nacionals de l'Institut Nacional de Normalització i Tecnologia mostra que les distribucions de Linux i Fedora han començat a llançar versions corregides.

En distribucions, el problema es soluciona en RHEL, SUSE / openSUSE, Fedora, FreeBSD, Ubuntu, Arch Linux i ALT.

La vulnerabilitat roman sense corregir en Debian (A Debian modeline està desactivada per defecte, de manera que la vulnerabilitat no es manifesta en l'estat predeterminat).

L'última versió del MacOS continua utilitzant una versió vulnerable, encara que els atacs només funcionen quan els usuaris han canviat una configuració per defecte que té activa la funció modelines.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.