特殊二維碼圖片瘋傳全網(wǎng):可導(dǎo)致微信閃退,掃碼 Bug 已被找到

2023/4/26 7:53:51 來(lái)源:IT之家 作者:汪淼 責(zé)編:汪淼
感謝IT之家網(wǎng)友 姬妮泰美、行李箱、空山鳥(niǎo)語(yǔ)灬、運(yùn)寬AIit、jioluo、退錢(qián)哥繼續(xù)退FORY、別開(kāi)槍啊是我lizhi111 的線索投遞!

IT之家 4 月 26 日消息,據(jù)IT之家多位網(wǎng)友投稿,一張二維碼圖片近日瘋傳全網(wǎng),在微信中打開(kāi)該圖片(或長(zhǎng)按)將導(dǎo)致微信閃退,連續(xù)閃退多次微信會(huì)進(jìn)入安全模式,賬號(hào)被強(qiáng)制登出。

根據(jù) OpenCV 中國(guó)團(tuán)隊(duì)的最新消息,這一 Bug 出現(xiàn)在了微信的掃碼引擎中(IT之家注:微信團(tuán)隊(duì)于 2021 年在 OpenCV 開(kāi)源了其掃碼引擎)。

根據(jù) GitHub 用戶(hù) Konano 和 GZTimeWalker 發(fā)現(xiàn)的內(nèi)存讀寫(xiě) Bug,惡意制作的圖片會(huì)通過(guò)無(wú)效的內(nèi)存訪問(wèn)導(dǎo)致 wechat_qrcode 模塊崩潰。

問(wèn)題發(fā)生在 DecodedBitStreamParser::decodeByteSegment 中。如下面的代碼所示,如果傳入?yún)?shù) bits_是內(nèi)容為空但長(zhǎng)度非零的 ByteSegment,此時(shí) bits.available () 返回 0,隨后 count 被更新為 0,但 nBytes 沒(méi)有更新仍保持為非 0。這會(huì)造成后面的 append 函數(shù)訪問(wèn)空指針 readBytes 讀取 nBytes 數(shù)據(jù),導(dǎo)致程序終止。

圖片

目前這一 Bug 已被用戶(hù)提交代碼修復(fù),開(kāi)源的速度還是很快的。IT之家小伙伴可以在微信中檢查更新獲取熱補(bǔ)丁修復(fù),沒(méi)有收到的可以稍等片刻。

廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。

相關(guān)文章

關(guān)鍵詞:微信,二維碼,OpenCV

軟媒旗下網(wǎng)站: IT之家 最會(huì)買(mǎi) - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機(jī)APP應(yīng)用 魔方 最會(huì)買(mǎi) 要知