Una vulnerabilidad en Vim y Neovim editores conduce a la ejecución de código al abrir un archivo malicioso

En los editores de texto Vim y Neovim se encontró una vulnerabilidad (CVE-2.019 hasta 12.735), que permite ejecutar código arbitrario al abrir un archivo especialmente diseñado.

TEl problema se manifiesta con la actividad de la línea de modelos habilitada por defecto (“: El patrón establecido“), lo que permite definir opciones de edición en el archivo que se está procesando. Vulnerabilidad eliminada en Empuje 8.1.1365 y Neovim 0.3.6 comunicados.

A través de modeline, permitido sólo un número limitado de opciones. Si la expresión se especifica como un valor de opción, se ejecuta en modo sandbox, que permite usar solo las operaciones seguras más simples.

Al mismo tiempo, los “: Fuente” el comando es y en él se puede usar “!” Modificador para ejecutar comandos arbitrarios desde un archivo especificado. Así, para ejecutar el código, es suficiente indicar en la línea del modelo una construcción de la forma “establecer foldexpr = ejecutar (': Fuente! algún_archivo'):“. En Neovim, ejecutar la llamada esta prohibida, Pero afirmación_falla se puede usar en su lugar.

Por ejemplo, ejecutar “uname -a” Dominio, simplemente abra un archivo en Vim o Neovim, cuya primera o última línea dice:

:!uname -a||" vi:fen:fdm=expr:fde=assert_fails("source\!\ \%"):fdl=0:fdt="

los “Fuente!%” comando leerá los comandos del archivo actual y, en consecuencia, ejecutar “:! uname -a“. Para ocultar esta línea de la salida de la utilidad cat, se pueden usar secuencias de escape.

Por ejemplo, En este prototipo de un exploit durante la operación de un archivo en vim, conexión de red creada con acceso shell al sistema de la víctima, pero este archivo no causará sospechas al enviarlo a la terminal con la utilidad cat.

Puede verificar la actividad de modeline usando el “: El patrón establecido?” Dominio. Para deshabilitar vimrc, puedes agregar la línea “establecer nomodelina“. en distribuciones, el problema se soluciona en RHEL, SUSE / openSUSE, Fedora, FreeBSD, Ubuntu, arch Linux y ALT. La vulnerabilidad sigue sin corregirse en Debian.

Fuente: https://nvd.nist.gov

Polina Lisovskaya

Trabajo como gerente de marketing desde hace años y me encanta buscar temas interesantes para ti.

Deja una respuesta

Botón volver arriba