近日一張 QR code 的照片突然在全網流傳,使用 WeChat 打開該圖片將導致 WeChat 應用程式在剛打開的時候突然退出中斷的情況。目前有人已發現,導致問題的起因是 WeChat 掃碼引擎中的一個記憶體讀取程式存在漏洞。
(圖片來源:digitalarea)
根據 GitHub 用戶 Konano 和 GZTimeWalker 發現的記憶體讀取漏洞,惡意製作的圖片會通過無效記憶體連接導致 WeChat qrcode 模組崩潰,而此漏洞出現在WeChat的掃碼引擎中。
據程式碼資料顯示,問題出現在「DecodedBitStreamParser::decodeByteSegment」中。如果輸入的參數 bits 內容為空,但 ByteSegment 長度非零的,會導致後面的 append 函數連接 readBytes 讀取 nBytes 數據,導致程式終止。
(圖片來源:gamingdeputy)
資料來源:gamingdeputy、ithome、digitalarea