最近,一张二维码的照片突然在全网流传,使用微信扫描或打开这张照片会导致微信闪回。
如果短时间内多次闪回,微信将进入安全模式,账号将被强制登出。
目前,用户已经发现,导致这个问题的是微信扫码引擎中的内存读写bug。这些恶意图片将导致wechat_qrcode模块通过无效的内存访问崩溃。
具体来说,根据GitHub用户Konano和GZTimeWalker的发现,这个问题出现在DecodedBitstrearser上::在decodebyteSegent中。
如果传入的参数bits_是内容为空,但长度不为零的bytesegment,此时bitss.available()将返回0,而count也将更新为0.
但与此同时,nbytes并没有更新,而是保持不变,这将导致随后的append函数访问空指针readbytes读取nbytes数据,导致程度异常终止。
目前,一些用户已经在GitHub上提交了Bug的代码修复,预计微信官方将在下一个版本中整合用户的修复补丁。
虽然闪回不会对微信的使用产生严重影响,但基于使用安全考虑,在微信正式修复问题之前,最好不要在微信中打开或扫描有问题的二维码。
微信方面已经在加急加班的修复中。
如果担心有问题,可以将此图片从聊天记录中删除就可以恢复正常。
事实上,通过一些字符、图片,让微信闪回崩溃,已经不是第一次了。
不知大家还记不记得,2017年的“15+句号”?
当时Android微信,只要收到「15+15个句号」这个消息,就会崩溃卡住。
但似乎每个人都习惯了,毕竟世界上没有不存在bug的软件,每个人都在努力写bug。
领取专属 10元无门槛券
私享最新 技术干货