最近,一张二维码照片在互联网上流传开来。扫描或打开该图片会导致微信闪退。如果出现短时间内多次闪退,微信将进入安全模式,迫使用户退出账号。
目前,用户已经发现,造成此问题的是微信扫码引擎中的一个内存读写Bug。这类恶意图片通过无效的内存访问来导致wechat_qrcode模块崩溃。
具体而言,如果传入的参数bits_是内容为空,但长度非零的ByteSegment,此时bits.available () 将返回0,而count也将被更新为0。但与此同时,nBytes并没有更新,而是保持非0,这将导致后续的append函数访问空指针readBytes读取nBytes数据,导致程度异常终止。
目前,有用户在GitHub提交了该Bug的代码修复,微信官方预计将在下一个版本中整合用户的修复补丁。
虽然闪退不会严重影响微信的使用,但为了安全起见,在微信官方修复问题之前,最好不要打开或扫描存在问题的二维码。
|