1 puntos por GN⁺ 2026-04-23 | 1 comentarios | Compartir por WhatsApp
  • Los mensajes eliminados o autodestruidos en apps de mensajería podían quedar en la caché de notificaciones y ser leídos con herramientas forenses, y Apple lo corrigió con una actualización de software para iPhone y iPad
  • Las notificaciones que mostraban el contenido del mensaje podían almacenarse en el dispositivo hasta por un mes, y en el aviso de seguridad de Apple se indica que las notificaciones marcadas para eliminación podían conservarse inesperadamente
  • Esta vía de extracción está relacionada con la forma en que los mensajes de Signal eliminados permanecían en la base de datos del teléfono, lo que permitía a las fuerzas del orden leer incluso mensajes borrados hacía mucho tiempo
  • Signal dijo que pidió a Apple una corrección tras hacerse público el problema, y la función de temporizador de autodestrucción puede ayudar a quienes buscan mantener sus conversaciones en secreto incluso si les confiscan el dispositivo
  • Eliminar mensajes dentro de la app no siempre hacía que ese mismo contenido desapareciera del almacenamiento de notificaciones a nivel del sistema operativo, y esta corrección muestra que la capa del OS también es importante para proteger la privacidad de los mensajes que se borran automáticamente

Corrección del bug e impacto

  • Apple distribuyó una actualización de software para iPhone y iPad que corrige un bug que permitía a las fuerzas del orden extraer mensajes eliminados o autodestruidos de apps de mensajería
    • El problema ocurría porque las notificaciones (notification) que mostraban el contenido del mensaje quedaban en caché en el dispositivo hasta por un mes
  • En el aviso de seguridad de Apple se indica que las notificaciones marcadas para eliminación podían conservarse inesperadamente en el dispositivo
  • No está claro por qué el contenido de las notificaciones se registraba desde un principio
    • Esta corrección deja en evidencia que se trataba de un bug
  • Apple no respondió de inmediato a preguntas sobre por qué se conservaban las notificaciones
  • Apple también hizo backport de la corrección a iPhone y iPad que ejecutan una versión anterior de iOS 18

La vía de extracción que salió a la luz

  • Esta corrección está directamente relacionada con un problema revelado a principios de este mes por 404 Media
    • El FBI podía usar herramientas forenses para extraer mensajes de Signal eliminados del iPhone de una persona
  • La extracción era posible porque el contenido del mensaje, tras haberse mostrado una vez como notificación, seguía guardado en la base de datos del teléfono incluso después de que el mensaje fuera eliminado dentro de Signal
  • Al usar herramientas forenses, las fuerzas del orden podían leer incluso mensajes borrados hacía mucho tiempo

Signal y la función de mensajes que se eliminan

  • Meredith Whittaker, de Signal, dijo que pidió a Apple que tomara medidas para corregir el problema después de que este se hiciera público
    • Escribió que las notificaciones de mensajes eliminados no deberían permanecer en la base de datos de notificaciones de ningún sistema operativo
  • Signal, al igual que otras apps de mensajería como WhatsApp, ofrece una función de temporizador para borrar mensajes automáticamente después de cierto tiempo
  • Esta función puede ayudar a quienes buscan mantener sus conversaciones en secreto incluso en casos en que las autoridades les confisquen el dispositivo

Preocupaciones de privacidad

  • Al saberse que el FBI había encontrado una vía para eludir una función de seguridad usada todos los días, aumentó la alarma entre activistas de la privacidad
  • La función de mensajes que se eliminan automáticamente es una medida de seguridad que usan a diario, en particular, personas en situación de riesgo
  • Este bug mostró que borrar un mensaje dentro de la app no necesariamente elimina ese mismo contenido del almacenamiento de notificaciones a nivel del sistema operativo

1 comentarios

 
GN⁺ 2026-04-23
Opiniones de Hacker News
  • Yo diría que esto era un bug donde quedaba caché en el dispositivo. Aun así, sigue siendo preocupante que Apple y Google estén en medio de la mayoría de los flujos de notificaciones, porque la estructura misma hace que el contenido pase por sus servidores. Por eso, si quieres exponer menos los mensajes cifrados de extremo a extremo, me parece correcto configurar las notificaciones para que solo muestren algo como nuevo mensaje recibido y oculten el contenido o el remitente
    • Creo que esa explicación está mal en dos puntos. Primero, este problema fue que el OS guardó y rastreó notificaciones localmente en el dispositivo, no un problema con los servidores de notificaciones de Google o Apple. Segundo, aunque las notificaciones pasen por servidores de Apple o Google, se puede mantener E2EE cifrando los datos o quitando el cuerpo del mensaje. De hecho, Signal funciona así, así que Apple o Google no están viendo los mensajes en texto plano
    • Según entiendo, tanto Apple como Google ofrecen funciones para que una app intercepte y modifique mensajes antes de mostrarlos. Entonces se puede enviar una notificación cifrada y descifrarla con el código de la app en el dispositivo del usuario antes de mostrarla
    • Me parece correcto. El servidor solo envía la notificación y luego esta puede combinarse localmente, después de desbloquear el dispositivo, con los mensajes leídos para mostrarse, así que no habría necesidad de que el texto plano pase por los servidores de Apple o Google
    • Según el FAQ de Matrix que leí hace poco, esa explicación no es correcta. En las apps de Matrix, solo parte de los metadatos pasa del servidor de chat al servidor de push y luego por Google hasta mi dispositivo, mientras que el cuerpo del mensaje sigue bajo E2EE. La app despierta con la notificación de metadatos, vuelve a traer el mensaje real y luego lo muestra en la notificación. Como señala el último comentario, del lado de Android seguiría existiendo el problema de almacenamiento local hasta que se corrija
    • En este caso, sí parece que usamos la API de notificaciones del OS de Google y Apple entregándoles el mensaje en texto plano
  • Yo diría que el bug del artículo es solo parte del problema. Lo central es que el texto de la notificación se guarda en la base de datos del teléfono fuera de Signal, y para evitar eso hay que cambiar la configuración. En este caso, el acusado borró la app de Signal misma, y normalmente esas notificaciones deberían haber quedado marcadas internamente como eliminadas; que no se hayan quitado parece ser justo lo que corrige este cambio. El punto clave de lo publicado es que notificaciones marcadas para borrarse podían quedarse inesperadamente en el dispositivo y, por la explicación, al ser un logging issue, también parece posible que hayan quedado en logs más que en la base principal
    • Por lo que vi, el matiz era que no solo afectaba logs, sino también logs, json, plist y SQLite DB. En Biome, en /private/var/mobile/Library/Biome/streams/.../Notification/segments/, habría logs sin procesar con título y cuerpo; en BulletinBoard y UserNotificationsCore, en /var/mobile/Library/{BulletinBoard,UserNotificationsCore}/, habría json y plist con estados de entrega y cierre; y en CoreDuet, en /var/mobile/Library/CoreDuet/coreduetdClassD.db, habría SQLite que vuelve a insertar eventos de Biome. La fuente es este tuit
    • Creo que esa interpretación sigue siendo especulación. Que estuvieran marcadas para eliminarse podría referirse no solo a borrar la app completa, sino también a después de que el usuario cierre la notificación
    • A mí lo primero que se me viene a la cabeza es la posibilidad de SQLite WAL
    • Yo diría que en la práctica podrían ser el mismo problema. Me da curiosidad por qué lo ves como algo separado
  • Me parece que el tipo de notificación genérica que ofrece Signal, como “has recibido un mensaje”, es en general una buena práctica de seguridad
    • En realidad, esto se puede hacer en casi cualquier app. Solo hay que cambiar en iOS la opción notifications shows previews a never
  • Me frustra bastante que Signal no esté comunicando este problema de forma más activa a sus usuarios. Yo tenía las notificaciones desactivadas y aun así Signal solo me seguía recordando que las activara
  • Esto me hace replantearme si, con Mythos, la mayor preocupación es descubrir vulnerabilidades o corregir vulnerabilidades
  • Al principio yo también estaba algo confundido. Pensaba que las notificaciones push estaban cifradas de extremo a extremo, así que el servicio push no podía almacenarlas en caché de forma legible y que la app las descifraba después de recibirlas en el dispositivo. Pero en realidad parece que la app las descifra, las muestra al usuario mediante la API del OS y luego ese texto termina guardado otra vez localmente en el dispositivo, en algo como una base de datos del historial de notificaciones
    • Yo también lo entendí más o menos como ese tipo de funcionamiento
    • Hasta donde veo, en la arquitectura de push de Apple y Google una buena parte de los metadatos va en texto plano
  • En temas de privacidad, yo diría que esto ya era bastante conocido desde antes. A veces Google y Apple envían el contenido de las notificaciones a sus propios servidores, lo que termina saltándose los límites de la app. Como explicación parecida de esa misma categoría, también vale la pena leer este artículo
    • Yo esperaría que Signal cifrara previamente los datos de la notificación antes de enviarlos a Apple, y que luego el dispositivo los descifre con una Notification Service Extension. Ese es un patrón común cuando no quieres confiar en Apple, así que al final el texto plano habría quedado guardado después de descifrarse en el dispositivo, no en Apple
    • En este caso reportado, entiendo que el contenido no salió del servidor, sino que una agencia federal de investigación lo obtuvo directamente del teléfono
    • También me hace pensar en mensajeros como Snapchat o WhatsApp. WhatsApp habla de end-to-end, pero también hay afirmaciones de que entrega a las autoridades algunas copias de mensajes basadas en palabras clave, así que la preocupación de fondo se siente parecida
  • La app no puede decirle a iOS, después de mostrarla, que no conserve esta notificación, así que el payload simplemente queda en caché. Al final es el típico problema de que “eliminado no significa realmente eliminado”, y los datos terminan quedando en más lugares de los que uno imagina. En ese sentido, me parece un caso que Signal señaló bien
  • Qué bueno que Apple haya llevado esta corrección de vuelta también a iOS 18
    • No solo eso: también es interesante que iOS 18.7.8 parezca haberse distribuido sin mayor rodeo incluso a dispositivos capaces de correr iOS 26. En cambio, eso no parecía pasar entre 18.7.3 y .6, así que me hace preguntarme si esas versiones intermedias debieron haberse publicado normalmente pero hubo problemas de despliegue y nadie los corrigió
  • Yo soy de la idea de no depender nunca de sistemas cerrados para mensajería segura, especialmente cuando te comunicas con muchas personas indeterminadas
    • Aun así, iOS probablemente sea la plataforma móvil más segura para mensajería segura. Sobre todo en lock down mode, diría yo