sábado, 8 de septiembre de 2018

Escalada de privilegios en ProtonVPN Client

Recientemente se ha descubierto una vulnerabilidad que afecta a la versión 1.5.1 del cliente ProtonVPN




ProtonVPN es un servicio ofrecido por la compañía Proton Technologies, esta compañía es famosa por un servicio de email llamado "ProtonMail" uno de los servicios de correos más seguros del momento.

Hace poco la empresa apostó por hacer un servicio VPN usando la misma visión que con el servicio de email. Y han empezado a aparecer ya algunas vulnerabilidades del lado del cliente.

El cliente de ProtonVPN se divide en dos partes, por un lado está la 'GUI (Interfaz gráfica)' que se ejecuta con privilegios estándar y el propio servicio que corre con los privilegios del sistema.

La 'GUI' se usa para generar el fichero de configuración para OpenVPN que se usa para para ejecutar el servicio con el archivo de configuración indicado.

El pasado abril la firma VerSprite descubrió la vulnerabilidad con CVE-2018-10169 que hacía que si un atacante agregase un parámetro como "plugin" o como "script-security" en el archivo de configuración permitiría ejecutar comandos con privilegios de sistema ya que no existía validación alguna.


options.c del cliente ProtonVPN


Si observamos el código de la imagen vemos cómo la función 'parse_line()' admite los caracteres ' " " ' (comillas dobles) para indicar los comandos. 

El investigador Paul Rascagneres (@r00tbsd) de "Cisco Talos" ha descubierto que si modificamos el archivo de configuración y agregamos el parámetro "up" y a continuación la ruta de ejecución de un programa cualquiera (la prueba de concepto se hace con notepad.exe) veremos cómo el programa se ejecuta con privilegios de sistema.


Prueba de concepto

Esta vulnerabilidad fue reportada por el equipo en julio y el parche ha llegado en una actualización del 3 de septiembre. Se recomienda actualizar los  clientes a la versión actual.





Mario Parra
@MPAlonso_
Más información:

Fuente: