Move語言引用安全檢查存在整數溢出漏洞 可能導致拒絕服務攻擊

robot
摘要生成中

Move語言中發現新的整數溢出漏洞

近期,一個Move語言中的新整數溢出漏洞被發現。這個漏洞存在於代碼驗證階段的引用安全檢查過程中,可能導致拒絕服務攻擊。

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

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

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

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

引用安全檢查模塊會掃描函數中各基本塊的字節碼指令,判斷引用操作是否合法。主要流程包括:執行基本塊代碼,生成執行後狀態,將執行前後狀態合並更新塊狀態,並傳播到後續塊。

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

漏洞出現在合並狀態的過程中。當函數參數數量和局部變量數量之和超過256時,由於使用u8類型存儲,會發生整數溢出。這導致在後續執行中訪問不存在的局部變量,從而引發panic。

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

攻擊者可以構造一個循環的基本塊,利用這個溢出改變塊的狀態。當再次執行時,訪問不存在的局部變量索引就會導致拒絕服務。

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

這個漏洞反映出即使是經過嚴格設計的Move語言,也可能存在被繞過的安全漏洞。建議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語言又一高危漏洞

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

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

查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 讚賞
  • 7
  • 分享
留言
0/400
空投自由人vip
· 19小時前
漏洞够严重的啊
回復0
假装在认真vip
· 19小時前
代码为王 检查为上
回復0
NFT悔恨录vip
· 19小時前
得紧急修复漏洞啊
回復0
DeFi工程师Jackvip
· 19小時前
*sigh* 微不足道的u8溢出问题
查看原文回復0
寒冬取暖喵vip
· 19小時前
难怪盘子不稳
回復0
分叉小王子vip
· 19小時前
溢出漏洞很致命啊
回復0
DeFiAlchemistvip
· 19小時前
数字揭示神秘的缺陷。
查看原文回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)