Vulnerabilidad en Linux permite hackear un sistema con sólo abrir un archivo en Vim

El experto en seguridad de páginas web Armin Razmjou ha reportado el hallazgo de una vulnerabilidad de ejecución de comandos remotos en Vim y Neovim, considerada como una falla de alta severidad. Las herramientas comprometidas son las más potentes y utilizadas para editar textos líneas de comandos y se encuentran preinstaladas en 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, si así lo desean. La vulnerabilidad fue detectada en Vim, no obstante, debido a que Neovim es sólo una versión extendida de Vim con algunas mejoras de plugins, esta vulnerabilidad también reside en ella.

En su reporte, el especialista en seguridad de páginas web menciona que la vulnerabilidad reside en la forma en la que Vim maneja una característica llamada “modelines”, que está habilitada de forma predeterminada para encontrar y aplicar automáticamente un conjunto de preferencias personalizadas establecidas por el creador de un archivo.

El experto menciona que, aunque el editor sólo permite un subconjunto de operaciones en “modelines” por seguridad, además de usar el entorno sandbox como protección, es posible usar el comando “:source!” para omitir el sandbox.

Por lo tanto, al abrir un archivo de Vim o Neovim especialmente diseñado y con apariencia inofensiva, un actor de amenazas podría ejecutar comandos arbitrarios en el sistema Linux comprometido y tomar control del equipo.

El experto también publicó dos pruebas de concepto, una de estas pruebas fue realizada en un escenario real en el que un hacker obtiene acceso remoto a un shell inverso desde el sistema de la víctima después de que el objetivo del ataque abre un archivo de Vim.

Los desarrolladores de Vim lanzaron actualizaciones de seguridad para ambas versiones, por lo que los especialistas en seguridad de páginas web del Instituto Internacional de Seguridad Cibernética (IICS) recomiendan a los administradores de sistemas Linux instalar estas correcciones tan pronto como sea posible.

En caso de que no sea posible para los administradores instalar las actualizaciones en este momento, algunas recomendaciones de seguridad son:

  • Deshabilitar la función “modelines”
  • Deshabilitar “modelineexpr” para no permitir expresiones en modelines
  • Usar “securemodelines plugin”, una alternativa segura esta función