Escalada de privilegios en ProtonVPN Client
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.
@MPAlonso_
Código fuente:
https://github.com/OpenVPN/openvpn/blob/5961250e776194a411a8dfc1670c5c0c73107bf8/src/openvpn/options.c
Powered by WPeMatico