文章图片
△就是这个函数
这里注意,.dismiss()函数可不是一个“专人专用”的函数,它并不只会解除SIM卡的手机锁定屏幕,连PIN、密码和指纹之类的正常锁屏也能解锁……
这就导致它极容易受到竞态条件影响,一旦两个线程执行顺序出现一点儿误差,就可能导致屏幕解锁出现问题 。
竞态条件即两个或者以上进程或者线程并发执行时,其最终的结果依赖于进程或者线程执行的精确时序 。
文章图片
举个栗子,如果在“PUK重置组件”的模块调用.dismiss()函数之前,就有操作改变了当前的安全屏幕,那么.dismiss()函数就可能误解锁指纹锁屏 。
关键来了,由于手机SIM卡状态是随时更新的(系统一直在监视SIM卡状态),因此如果SIM卡状态发生变化,系统也会更新当前的安全屏幕 。
所以一旦“PUK重置组件”成功调用了.dismiss()函数,它就会在解锁PUK屏幕之前,直接先解锁了指纹锁屏!
根据谷歌公开的漏洞报告,它在Android 10到Android 13系统中都可能出现:
文章图片
当然,也有网友测试发现,Android 11似乎不受影响,而是在Android 12中出现了 。
文章图片
还有网友发现三星手机也“逃过一劫”:
文章图片
现在,安卓工程师们重构了.dismiss()函数,简单来说就是给它打个小小的补丁,让它只能解锁带有“SimPuk”标记的安全屏幕(也就是只能解除手机锁定屏幕) 。
小哥本人对此没有异议,但也有网友认为,这不是这次漏洞的最优解:
文章图片
永远不要假设任何bug都只有一种特殊情况 。如果不解决代码的根本逻辑,灾难就一直存在 。
【谷歌|安卓锁屏不到2分钟被破解:仅需换一张SIM卡】你的安卓手机中出现了这个bug吗?
- 安卓|问一下,究竟是安卓系统卡,还是国内app流氓软件卡?
- realmegtneo4月安卓手机性价比排行榜第一名
- 安卓|19年前的安卓bug,终于有人修好了
- 在安卓智能手表这一块|oppowatch3ltpo技术屏幕已安排上了
- 消息称谷歌 Pixel 7a 将采用 90Hz 显示屏
- 美的集团|不是谷歌技术落后,而是国产app太流氓,在后台一直运行获取数据
- 万超|双十一手机单品销量前十出炉:苹果红米各四部,安卓旗舰无一上榜
- 安卓|手机厂商最高快充对比 苹果14被完爆:大家都是USB-C接口也坑?
- 华为mate50|安兔兔10月份安卓手机性能榜揭晓,绿厂强势包揽次旗舰前三
- 华为鸿蒙系统|第三个系统,第一次改变!据华为表态,鸿蒙OS 3.0系统上线后,将会彻底删除谷歌代码!