近日,一张二维码的照片突然在全网流传,使用微信扫描或打开该图片将导致微信出现闪退。
而如果短时间多次闪退,微信将进入安全模式,账号被强制登出。
目前,用户已经发现,导致该问题的是微信扫码引擎中的一个内存读写Bug,此类恶意制作的图片,将会通过无效的内存访问导致wechat_qrcode模块崩溃。
具体来说,根据GitHub用户Konano和GZTimeWalker的发现,该问题出现在DecodedBitStreamParser::decodeByteSegment中。
如果传入的参数bits_是内容为空,但长度非零的ByteSegment,此时bits.available 将返回0,而count也将被更新为0.
但与此同时,nBytes并没有更新,而是保持非0,这将导致后续的append函数访问空指针readBytes读取nBytes数据,导致程度异常终止。
目前,已经有用户在GitHub提交了该Bug的代码修复,预计微信官方将在下个版本整合用户的修复补丁。
虽然闪退并不会对微信的使用造成严重影响,但基于使用安全考虑,在微信官方修复问题前,最好还是不要在微信中打开或扫描存在问题的二维码。
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com