El investigador de seguridad Armin Razmjou descubrió recientemente una vulnerabilidad de ejecución de comandos de sistema operativo arbitrario de alta gravedad (CVE-2019-12735) en Vim y Neovim:dos aplicaciones de edición de texto de línea de comandos más populares y potentes que vienen preinstaladas con la mayoría de los sistemas operativos basados en Linux .
En los sistemas Linux, el editor Vim permite a los usuarios crear, ver o editar cualquier archivo, incluidos texto, scripts de programación y documentos.
Dado que Neovim es solo una versión extendida de Vim, con una mejor experiencia de usuario, complementos y GUI, la vulnerabilidad de ejecución de código también reside en ella.
Fallo de Ejecución de Código en Vim y Neovim
Razmjou descubrió una falla en la forma en que el editor Vim maneja «modelos», una característica que está habilitada por defecto para encontrar y aplicar automáticamente un conjunto de preferencias personalizadas mencionadas por el creador de un archivo cerca de las líneas de inicio y finalización del documento.
Aunque el editor solo permite un subconjunto de opciones en modelos (por razones de seguridad) y usa la protección de la caja de arena si contiene una expresión insegura, Razmjou reveló que al usar «: source!» El comando (con un modificador de bang [!]) se puede utilizar para omitir el sandbox.
Por lo tanto, solo abrir un archivo de aspecto inocente especialmente diseñado con Vim o Neovim podría permitir a los atacantes ejecutar comandos en secreto en su sistema Linux y tomar control remoto sobre él.
El investigador también ha lanzado dos pruebas de prueba de concepto al público, una de las cuales demuestra un escenario de ataque en la vida real en el que un atacante remoto obtiene acceso a una cubierta inversa desde el sistema de la víctima tan pronto como abre un archivo en. eso.
Los mantenedores de Vim (parche 8.1.1365) y Neovim (lanzado en v0.3.6) han lanzado actualizaciones para ambas utilidades para solucionar el problema, que los usuarios deben instalar tan pronto como sea posible.
Además de esto, el investigador también ha recomendado a los usuarios:
- Deshabilitar la función de modelos,
- deshabilite «modelineexpr» para no permitir expresiones en modelos,
- use «securemodelines plugin», una alternativa segura a los modelos Vim.
Fuente: thehackernews.com