Vim Modeline Vulnerabilities

15

Uso vim y tengo un caso de uso para modelines . Una línea de modelo significa que vim analizará un archivo de texto para líneas como:

# vim: set someoption=somevalue

y luego establecerá esas opciones. Esto es increíble si soy la persona que escribe los modelos, pero también podría romper la suposición de que puedo abrir archivos de texto no confiables con mi editor de texto sin ningún daño.

Supongamos que estoy ejecutando una versión actualizada de vim. Supongamos que no me importa si alguien puede establecer opciones molestas que hagan que las cosas se vean mal (por ejemplo, meterse con el ancho de tabla). ¿Qué podría hacer un archivo de texto malicioso?

¡Gracias!

    
pregunta Sam King 16.05.2013 - 01:08
fuente

3 respuestas

8

Aunque en teoría, los modelos no deberían permitirle hacer nada malo, la entrada de funciones de modelado de desinfección es difícil. Ha habido varios problemas de seguridad en el pasado que permitieron la ejecución de comandos arbitrarios o ataques DoS. Para citar algunas vulnerabilidades pasadas que pude encontrar:

Si bien creo que todos se han solucionado, es probable que se encuentren vulnerabilidades similares en el futuro, por lo que las distribuciones deshabilitan los modelos de forma predeterminada (al menos Debian y SuSE).

    
respondido por el Calimo 20.04.2017 - 17:16
fuente
0

Los modelos Vim han tenido errores de ejecución de código arbitrario en el pasado.
Así que podrían hacer mucho daño en el pasado.

Se detectó por primera vez en 6.3, se corrigió, se encontraron algunas vulnerabilidades similares posteriormente.

Dado que el riesgo es inherente (mezclando datos y código), las líneas de modelo generalmente están deshabilitadas para root.

De la forma en que lo entiendo, los errores anteriores fueron corregidos, por lo que, a excepción de los problemas no publicados, al usar Vim moderno es seguro abrir archivos no confiables con modelos.

    
respondido por el teknopaul 16.11.2015 - 23:20
fuente
-1

Idealmente no mucho, pero en la práctica no es tan ideal como lo sugeriría el ideal.

Solo busque vulnerabilidad de la línea de modelos de Vim para ver algunos ejemplos de cómo esto ha ido mal en el pasado. Esto forma parte del motivo por el cual el soporte de modeline está deshabilitado de forma predeterminada si está ejecutando vim como root.

    
respondido por el tylerl 16.05.2013 - 06:16
fuente

Lea otras preguntas en las etiquetas