BTCC / BTCC Square / TechFlowPost /
BitsLab 旗下 TonBit 再次發現 TON 虛擬機漏洞:RUNVM 指令或導致智能合約執行環境污染

BitsLab 旗下 TonBit 再次發現 TON 虛擬機漏洞:RUNVM 指令或導致智能合約執行環境污染

Published:
2025-05-09 15:44:53
18
2

作者:BitsLAB

BitsLab 旗下 TONBit 再次於 TON 虛擬機(TVM)深層代碼裡挖出一枚“隱形炸彈”——RUNVM 指令非原子狀態遷移漏洞。 攻擊者可藉助子虛擬機耗盡 gas 的瞬間,污染父虛擬機的庫(libraries)並誘發後續調用失敗,最終導致依賴庫完整性的合約出現異常行為。

下面我們保留技術細節原文,為開發者呈現漏洞發現與驗證的完整過程,幫助社區深入理解該問題,並提高對類似風險的防範意識。

以下是漏洞詳述:

TVM 中的 RUNVM 指令可能污染調用者狀態並導致庫不可用。 在 ’RUNVM’ 指令代碼中發現新的漏洞。 該漏洞允許污染調用者的狀態。 相關代碼片段如下:

上述代碼負責啟動子虛擬機。 其功能是將當前VmState中的’log’和’librARies’移動到新的VmState對象’new_state’中,然後用’new_state’替換當前VmState。

問題在於該操作並非真正的原子操作。 在執行’*this = std::MOVE(new_state);’語句之前,虛擬機可能因gas耗盡而中止進程,導致’new_state’未能成功替換當前狀態。 此時’libraries’可能已被移出,使得子虛擬機的庫處於被清除(移動)狀態。

由於RUNVM指令通過iSOLate_gas參數實現了子虛擬機與父虛擬機之間的gas消耗隔離,這會引發以下場景:

即使子虛擬機觸發gaS耗盡異常,父虛擬機仍保留足夠的gas繼續執行。 但由於失敗的狀態轉移過程中子虛擬機已經移動/清除了’libraries’,導致後續依賴’libraries’的操作都將失敗。 這種情況會使得某些假定庫完整性的合約出現預期之外的行為。

漏洞驗證(PoC驗證)

我們通過以下測試用例成功復現了該漏洞:

關鍵測試修改說明:

為了便於本地觀察庫狀態,我們修改了NOP指令以強制註冊一個庫條目:

復現步驟:

1)將此測試用例添加到 crypto/test/vm.cpp 文件中

2)運行 test-vm 可執行程序

3)觀察 XLOAD 指令執行時因空庫而拋出的異常

預期行為:

NOP指令執行後:庫中包含1個條目

RUNVMX指令執行後:儘管父虛擬機繼續運行,但庫變為空狀態

XLOAD指令執行失敗並拋出異常

這充分證明了非原子性狀態轉移與gas隔離機制共同作用時,會產生違反執行上下文完整性的不一致狀態。

本次發現再次體現了 BitsLab 旗下 TonBit 在 TON 生態安全研究中的深厚實力。 我們已第一時間將技術細節與緩解方案提交給 TON 基金會,並協助其完成修復。 建議所有開發者在官方補丁發布後及時更新依賴庫;同時在自研合約中加入更嚴謹的庫完整性驗證與 gas 管理邏輯,以防止類似問題被惡意利用。 BitsLab 將繼續秉持“負責任披露”原則,攜手社區共同築牢 Web3 安全防線。

關於BitsLab

BitsLab 是一家致力於守護和構建新興 Web3 生態系統的安全組織,願景是成為備受行業和用戶尊敬的 Web3 安全機構。 旗下擁有三個子品牌:MoveBit、ScaleBit 和 TonBit。

BitsLab 專注於新興生態系統的基礎設施開發與安全審計,覆蓋但不限於 Sui、Aptos、TON、Linea、BNB Chain、Soneium、Starknet、Movement、Monad、Internet Computer 和 Solana 等生態。 同時,BitsLab 在審計多種編程語言方面展現了深厚的專業能力,包括 Circom、Halo2、Move、Cairo、Tact、FunC、Vyper 和 Solidity等。

BitsLab 團隊匯聚了多位頂級漏洞研究專家,他們曾多次榮獲國際 CTF 獎項,並在 TON、Aptos、Sui、Nervos、OKX 和 Cosmos 等知名項目中發現了關鍵漏洞。

關於 TonBit

TonBit 作為 BitsLab 的核心子品牌,是 TON 生態系統內的安全專家和早期建設者。 作為 TON 區塊鏈的主要安全保障提供商,TonBit 專注於全面的安全審計,包括 Tact 和 FunC 語言的審計,確保基於 TON 的項目具備完整性和彈性。 迄今為止,TonBit 已成功審計了包括 Catizen、Algebra、UTonic 等多個知名項目,並發現了多個關鍵漏洞,展現了我們在區塊鏈安全領域的卓越能力。 此外,TonBit 還成功舉辦了 TON CTF 比賽,吸引了眾多參與者並收穫了廣泛關注,進一步鞏固了其在 TON 生態中的安全專家地位。 未來,TonBit 將繼續為區塊鏈安全保駕護航,推動技術和生態的持續發展。

|Square

下載BTCC APP,您的加密之旅從這啟程

立即行動 掃描 加入我們的 100M+ 用戶行列