Electron, el conocido
framework de aplicaciones de escritorio, en el que se basan Slack, Atom, Skype,
Signal e incluso Visual Studio Code por ejemplo, han corregido una grave
vulnerabilidad de ejecución remota de código que afecta a las versiones Windows
que utilizan manejadores de protocolo personalizados.
Si hace unos meses
alertábamos de las potenciales vulnerabilidades que se presentaban en el
ecosistema de aplicaciones basadas en Electron, el reporte facilitado esta
semana por Github, confirma esta tendencia.
En este caso, la
vulnerabilidad (CVE-2018-1000006) reside en el uso de manejadores de protocolo
personalizados, utilizados para identificar un URI, myapp://, asociado y
registrado para una aplicación basada en Electron.
Inspeccionando los
cambios en el código, se puede observar cómo era posible ejecutar código
remotamente si un usuario hacía click en este tipo de URIs, ya que no se
controlaba debidamente los parámetros de ejecución, en base a una blacklist.
Utilizando ciertos
parámetros, como el parámetro de tipo debug, "gpu-launcher", se
podrían lanzar instancias del sistema, como muestra el PoC realizado por
CHYbeta
Otros investigadores,
como wflki, han demostrado este tipo de vulnerabilidad en el wallet de
criptomonedas, Exodus:
Electron ha publicado
nuevas versiones (1.8.2-beta.4, 1.7.11 y 1.6.16) y urge a los desarrolladores a
actualizar sus aplicaciones lo antes posible. También han publicado las
contramedidas oportunas, para aquellos que no puedan actualizar por el momento.
Más información:
Protocol Handler
Vulnerability Fix https://electronjs.org/blog/protocol-handler-fix
CVE-2018-1000006-DEMO
https://github.com/CHYbeta/CVE-2018-1000006-DEMO
Exploiting Electron
RCE in Exodus wallet https://medium.com/@Wflki/exploiting-electron-rce-in-exodus-wallet-d9e6db13c374
Recent protocol
handler bug disclosed by Electron as seen in Windows Defender ATP https://twitter.com/WDSecurity/status/955909703359516673
Fuente: Hispasec