RCE en Visual Studio Code a través de su extensión de Python

  • 0 Respuestas
  • 364 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado K A I L

  • *
  • Moderador
  • Mensajes: 163
  • Actividad:
    0%
  • Reputación 2
    • Ver Perfil


El equipo de Doyensec ha encontrado una vulnerabilidad en la popular extensión para Python de Visual Studio Code que permitiría la ejecución remota de código.

La extensión de Python, con aproximadamente 16.5 millones de instalaciones, cuenta con un fallo de diseño que permite ejecutar el código encontrado en el ‘virtualenv‘ de un proyecto sin notificar al usuario. Este comportamiento es utilizado para tareas como reestructuración de código, autocompletado, etcétera. Sin embargo, el diseño inseguro de esta extensión permitiría a un atacante ejecutar código arbitrario en el sistema de una víctima que clone un repositorio malicioso basado en Python.

En una de sus auditorías a una aplicación web basada en Python, un ingeniero de Doyensec se dio cuenta de que Visual Studio había seleccionado automaticamente el ‘virtualenv‘ del proyecto que estaba auditando y que estaba tratando de ejecutar el componente ‘pylint‘ sin ningún tipo de confirmación del usuario. Esto le hizo sospechar que sería posible una ejecución de código: procedió a añadir la línea os.exec(«/Applications/Calculator.app») en el código fuente del componente ‘pylint‘ y tras instalar el componente y forzar su ejecución abriendo un fichero de tipo Python, la calculadora del sistema se abrió y sus sospechas se confirmaron.

Bastaría con crear un proyecto con un fichero ‘settings.json’ que seleccionase el entorno malicioso por defecto para poder explotar la vulnerabilidad cuando la víctima clone y abra alguno de los ficheros del proyecto.

Doyensec ha publicado una prueba de concepto en su repositorio de Github que ejecuta la calculadora de macOS:

  • Primero hay que clonar el proyecto: git clone [email protected]:doyensec/VSCode_PoC_Oct2019.git
  • Añadirlo al entorno de trabajo de Visual Studio
  • Abrir el fichero test.py desde Visual Studio

Este repositorio contiene un fichero ‘settings.json’ «malicioso» que selecciona el ‘virtualenv‘ situado en la carpeta ‘totally_innocuous_folder/no_seriously_nothing_to_see_here’.



La extensión vulnerable no está instalada por defecto y el fallo ya ha sido revelado de forma responsable a sus desarrolladores quienes han estimado que estará resuelto a mediados de abril de 2020.

Más información:
You are not allowed to view links. Register or Login

You are not allowed to view links. Register or Login

 

Python gana el premio titulado como el mejor lenguaje de programación

Iniciado por graphixx

Respuestas: 0
Vistas: 1819
Último mensaje Febrero 16, 2016, 02:15:03 pm
por graphixx
Microsoft y OpenAI crean inteligencia artificial que autocompleta código Python

Iniciado por Dragora

Respuestas: 1
Vistas: 672
Último mensaje Mayo 25, 2020, 05:34:48 pm
por d3adly
Diez bibliotecas maliciosas encontradas en PyPI - Python Package Index

Iniciado por Andrey

Respuestas: 0
Vistas: 1342
Último mensaje Septiembre 25, 2017, 11:10:40 am
por Andrey
Tras larga polémica los términos 'Maestro' 'Esclavo' no se usarán más en Python.

Iniciado por Andrey

Respuestas: 1
Vistas: 1190
Último mensaje Septiembre 14, 2018, 03:24:23 pm
por rommel360
Python se ha convertido en el lenguaje de programación que crece más rápido

Iniciado por Andrey

Respuestas: 0
Vistas: 1309
Último mensaje Septiembre 12, 2017, 01:54:02 am
por Andrey