Move語言新發現整數溢出漏洞 或致節點崩潰

robot
摘要生成中

Move語言新發現一個整數溢出漏洞

近期,安全研究人員在深入分析Move語言時發現了一個新的整數溢出漏洞。這個漏洞出現在Move語言的引用安全驗證過程中,可能導致節點崩潰。

Numen Cyber獨家發現move語言又一高危漏洞

Move語言在執行字節碼前會進行代碼驗證,分爲四個步驟。這個漏洞存在於reference_safety步驟中。引用安全驗證主要檢查是否存在懸空引用、可變引用訪問是否安全、全局存儲引用訪問是否安全等。

Numen Cyber獨家發現move語言又一高危漏洞

驗證過程會對每個基本塊進行分析。基本塊是一段除入口和出口外沒有分支指令的代碼序列。Move通過遍歷字節碼、查找分支指令和循環指令來識別基本塊。

Numen Cyber獨家發現move語言又一高危漏洞

驗證引用安全性的主要流程是:對每個基本塊執行代碼,生成執行後的狀態,然後將執行前後的狀態合並,更新塊狀態並傳播到後續塊。這個過程會反復執行,直到狀態不再變化或出錯。

Numen Cyber獨家發現move語言又一高危漏洞

漏洞出現在合並狀態的過程中。如果函數參數長度加上局部變量長度大於256,會導致u8類型溢出。雖然有代碼檢查局部變量個數,但沒有包括參數長度。

Numen Cyber獨家發現move語言又一高危漏洞

利用這個溢出可以改變塊的狀態,使新舊狀態不同。當再次執行基本塊時,訪問新狀態中不存在的索引會導致程序崩潰。

Numen Cyber獨家發現move語言又一高危漏洞

研究人員給出了一個概念驗證代碼,可以觸發這個漏洞導致節點崩潰。這說明即使是靜態類型語言也可能存在安全問題,代碼審計很重要。建議Move語言在運行時增加更多安全檢查,而不只是在驗證階段。

Numen Cyber獨家發現move語言又一高危漏洞

這個漏洞的發現再次表明,沒有絕對安全的代碼。即使是強類型語言也可能存在漏洞。安全研究人員將繼續深入分析Move語言,尋找更多潛在問題。

Numen Cyber獨家發現move語言又一高危漏洞

Numen Cyber獨家發現move語言又一高危漏洞

Numen Cyber獨家發現move語言又一高危漏洞

Numen Cyber獨家發現move語言又一高危漏洞

Numen Cyber獨家發現move語言又一高危漏洞

Numen Cyber獨家發現move語言又一高危漏洞

Numen Cyber獨家發現move語言又一高危漏洞

Numen Cyber獨家發現move語言又一高危漏洞

MOVE-0.49%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 7
  • 轉發
  • 分享
留言
0/400
区块链养老院院长vip
· 8小時前
Move要凉?
回復0
Meme复读机vip
· 8小時前
又崩,今天第几次了
回復0
空投黑洞vip
· 8小時前
这波热点站队了~ move又炸
回復0
Uncle Liquidationvip
· 8小時前
又要修锅了哈
回復0
午夜快照猎人vip
· 8小時前
move凉透了
回復0
ApeWithNoChainvip
· 8小時前
move又崩?已经不值得期待了...
回復0
佛系链上人vip
· 8小時前
看完直接想躺平……
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)