加密通信软件Signal修补Android版隐私泄露bug

在去年12月初,新西兰计算机系统工程师Rob Connolly,在加密通信软件Signal的Android版本GitHub程序代码存储库,回应了错误显示图像的bug,而官方现在终于表示,该bug在7月21日刚发布的5.17版本已经修复了。

官方超过半年才修复这个照片泄露的重大问题,这之间陆续有许多用户遭遇到相同问题,并且批评官方,这项bug伤害了Signal的机密性,应该把该bug当作优先项目修补,而非经过这么久的时间,让更多用户暴露在风险之中。

Rob Connolly在2020年12月4日回应了这个问题,bug发生在他与和友人B间的标准对话,当他分享一个由内置GIF搜索功能搜索而来的GIF图像,而友人B也的确收到了该GIF图像,但同时还多了非Rob Connolly所分享的图像,Rob Connolly猜测这些额外的图像可能来自于其他用户,他在回应这个bug的时候,无从得知照片来自于哪一个用户,也并非是来自B与其他用户的对话,但是可以确定,的确有位用户的资料遭盗泄露。

官方在12月5日的时候,回应了这个问题,询问了问题消息发生的时间,到了12月22日,又有另二位用户发生同样的状况,而且在手机端收到不知名用户的照片,在计算机端的应用程序,则同样也会出现这些照片,即便用户已经在移动设备上删除了历史记录。

有一位用户提到,他受这个bug严重影响,甚至当他仅发送文本,而且没有附加任何图像的情况下,他的文本会被自动加上不知从何而来的图像。有用户认为,这个bug严重影响Signal的对话隐私性,并且无法机密安全地发送图像。

而这个bug终于在7月21日发布的517版本中修复,这个错误源自于SQLite Autoincrement的bug,是数据库属性和另一个独立bug,在罕见交集的情况便会造成Signal图像泄露,官方提到,当有人修剪了对话,便可能创造一个极少见的情况,使得数据库ID被重新使用,这个问题在他们收到通报后,立刻列为优先处理的任务,但是这个bug在一开始时,难以被关注,且这属于数据库本身的bug。而在SQLite修复该bug后,因为该数据库bug所导致的类似问题,也就不会再次发生。