La versión de
escritorio de la popular aplicación de mensajería contiene una vulnerabilidad
que permite ejecutar código arbitrario (de momento, solo confirmado JavaScript)
en el cliente receptor del mensaje.
Jueves por la tarde.
En una charla entre amigos a través de Signal Desktop, uno de ellos comparte
una URL. Pero en el mensaje, en vez de aparecer ésta al completo, parte se
muestra como imagen. En cualquier otro grupo el error hubiera pasado
desapercibido y seguirían tranquilamente con sus vidas. Pero cuando el grupo es
de investigadores de seguridad, salta la liebre y hay que llegar al fondo del
asunto.
De esta forma los
investigadores Iván Ariel Barrera (@HacKanCuBa), Alfredo Ortega (@ortegaalfredo)
y Juliano Rizzo (@julianor) descubrieron la semana pasada una vulnerabilidad en
Signal Desktop que permite a cualquier usuario inyectar código en el cliente
receptor del mensaje.
La aplicación no
filtra correctamente etiquetas HTML y esto puede ser utilizado para inyectarlas
en el cliente receptor utilizando un mensaje convenientemente manipulado.
Etiquetas como 'img' o 'iframe' permiten la carga de contenido remoto. También
se interpreta la etiqueta 'script'.
El caso de 'iframe'
en sistemas Windows es el más peligroso, ya que permite la carga de código
arbitrario JavaScript desde ubicaciones remotas, por ejemplo a través de SMB.
Aunque la
vulnerabilidad se soluciona el pasado día 11 en la versión v1.10.1 de Signal
Desktop, a los investigadores les llama la atención la velocidad con la que se
soluciona el error. Tirando del hilo, descubren que el parche aplicado (una
expresión regular) ya existía en versiones anteriores, eliminándose el pasado
10 de abril para solucionar un problema con los enlaces. Aun así, apuntan a que
incluso esta RegExp sigue siendo vulnerable.
Más información:
signal-desktop HTML
tag injection writeup and advisory:
Fuente: Hispasec