Signal corrige una vulnerabilidad que enviaba imágenes aleatorias a los contactos
Signal corrigió una grave vulnerabilidad en su aplicación de Android que, en algunos casos, enviaba imágenes aleatorias no deseadas a los contactos sin una explicación obvia.
Aunque el problema se reportó en diciembre de 2020, dada la dificultad de reproducir el error, no se corrigió inmediatamente. La corrección llegó hasta este mes que se implementó una solución para los usuarios de Android de la aplicación de mensajería cifrada de extremo a extremo.
Imágenes aleatorias enviadas incorrectamente a los contactos
Este mes, Signal corrigió una vulnerabilidad que afectaba a los usuarios de la aplicación de Android en algunas circunstancias.
Al enviar una imagen usando la aplicación Signal para Android a uno de tus contactos, el contacto ocasionalmente recibiría no solo la imagen seleccionada. Este también recibiría algunas imágenes aleatorias, no deseadas, que el remitente nunca había enviado.
Una captura de pantalla de ejemplo a continuación demuestra cómo el remitente (izquierda) simplemente envió un GIF como parte de una conversación de texto. No obstante, el destinatario (derecha) recibió dos imágenes adicionales sin una explicación plausible:
El problema fue reportado por primera vez en diciembre de 2020 por Rob Connolly en la página de GitHub de la aplicación . Otros usuarios intervinieron gradualmente para confirmar los hallazgos de Connolly.
Connolly también declaró que, considerando que el remitente no había enviado las imágenes adicionales, era un error preocupante. Este era el caso de mensajes “cruzados” de otro contacto del destinatario o, peor aún, de una parte, desconocida.
Afortunadamente, en el ejemplo que se muestra arriba, las imágenes expuestas no eran de naturaleza sensible.
En febrero de este año, otro tecnólogo confirmó el problema:
“Perdón por el golpe, pero quería decir que esto me está sucediendo constantemente ahora”.
“Cada vez que envío imágenes o enlaces (con una vista previa), ocurre un error. Otras imágenes o imágenes de las vistas previas de enlaces también se envían a la otra parte. Esto ocurre independientemente de si estaban al tanto de las imágenes anteriores”.
“Ha llegado al punto en que envío las imágenes a mi escritorio a través de ‘note to self ‘ (que exhibe el mismo comportamiento). Y, luego descargo la imagen y la envío a la persona correcta”.
Christopher M. Hobbs.
Error causado por una “rara intersección” de las propiedades de la base de datos
Tras el informe inicial de diciembre de 2020, el equipo de Signal inmediatamente solicitó registros para depurar y solucionar el problema.
Sin embargo, tomó bastante tiempo y esfuerzo reproducir el problema de manera efectiva.
Como tal, no fue hasta este mes que se lanzó una versión reparada de la aplicación Signal para Android.
“Esto es una locura. Este error debería ser la prioridad número 1 para Signal en este momento. Sin embargo, todo lo que hacen es solicitar registros y realizar mejoras que no son ni de lejos tan importantes como solucionarlo. Este es un error que debería acabar a Signal, honestamente”, se quejó el pseudónimo defensor de la seguridad y la privacidad InfiniteLight.
Otro usuario, Adrian Ostrowski, expresó que un error como este hacía imposible compartir imágenes de forma confidencial a través de Signal.
A lo que Greyson Parrelli, desarrollador de Signal para Android, respondió que se había implementado una solución en la versión 5.17 de la aplicación Signal para Android. La solución fue lanzada este mes.
Parelli también intervino en un hilo de YCombinator Hacker News que indica que Signal se toma muy en serio errores como estos :
“De hecho, nos tomamos muy en serio este tipo de problemas. Este error era extraordinariamente raro y, debido a que no tenemos métricas ni recopilación de registros remotos, nos tomamos un tiempo. Hubo un período inicial en el que tuvimos que dedicar tiempo a agregar registros y recopilar registros enviados por los usuarios para intentar localizarlo”.
“Tan pronto como pudimos captar un indicio, fue todo en lo que trabajamos y pudimos solucionarlo muy rápidamente”.
Para los interesados, el problema ocurrió por un descuido trivial. El problema se debió a que los campos “ID” no se configuraron para aumentar automáticamente en las tablas de la base de datos SQLite. Signal utiliza SQLite como base de datos.
Corrección
La corrección compartida por Signal muestra que ahora se ha agregado “AUTOINCREMENT” a algunas tablas que necesitaban la propiedad:
Para algunos antecedentes, este error se produjo como una rara intersección de algunas propiedades de la base de datos y un error separado.
El TL;DR es que si alguien tiene una conversación cortada, podría crear una situación poco común en la que una ID de base de datos se reutiliza de una manera que podría resultar en este comportamiento.
Fue muy difícil de rastrear, ya que las fases anteriores implicaban la obtención de registros adicionales en las compilaciones.
“Una vez que tuvimos más información, de hecho, se convirtió en nuestra principal prioridad. Realizamos una corrección y la sacamos de la manera más rápida y segura posible. La corrección en sí debería hacer que los problemas de la base de datos como el que causó este error no puede volver a ocurrir”.
Parelli
En este momento, el problema parece haber afectado solo a la versión de Android de la aplicación.
Los usuarios de la aplicación Signal para Android deben actualizar a la última versión de la aplicación que está disponible en la tienda Google Play.