Move語言引用安全模塊曝整數溢出漏洞 或致節點崩潰

robot
摘要生成中

Move語言引用安全模塊存在整數溢出漏洞

近期,安全研究人員發現Move語言的引用安全模塊中存在一個新的整數溢出漏洞。這個漏洞出現在代碼驗證過程的reference_safety步驟中,可能導致拒絕服務攻擊。

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

Move語言在執行字節碼之前會進行代碼驗證,分爲4個步驟。reference_safety是其中一個重要步驟,用於驗證引用安全性,包括檢查是否存在懸空引用、可變引用訪問是否安全等。

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

該漏洞源於引用安全驗證過程中對局部變量數量的處理。在join_函數中,如果函數參數數量和局部變量數量之和超過256,會導致u8類型溢出。雖然Move語言有校驗locals個數的過程,但只檢查了局部變量數量,沒有包括參數數量。

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

攻擊者可以構造特殊的Move代碼,利用這個溢出漏洞改變代碼塊的狀態。當再次執行基本塊時,如果指令中需要訪問的索引在新的局部變量映射中不存在,就會導致panic,從而使節點崩潰。

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

安全研究人員提供了一個概念驗證(PoC)代碼,通過設置大量參數和局部變量,觸發整數溢出,最終導致panic。

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語言又一高危漏洞

這個漏洞再次說明了即使是設計良好的語言也可能存在安全隱患。對Move語言而言,建議在運行時增加更多的安全檢查,而不僅僅依賴於驗證階段的檢查。同時也反映出代碼審計的重要性,可以及時發現開發人員的疏忽。

作爲Move語言安全研究的先行者,安全團隊表示將繼續深入研究Move的安全問題。他們還發現了Move語言的另一個漏洞,將在後續披露更多細節。

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

查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 讚賞
  • 4
  • 分享
留言
0/400
SoliditySlayervip
· 07-11 20:03
漏洞天天有 没什么大不了
回復0
区块烧烤师vip
· 07-11 20:02
又见bugs,Move的歌越来越迷离~
回復0
HashBrowniesvip
· 07-11 19:52
Move首发杀虫剂就来了
回復0
社区打工仔vip
· 07-11 19:34
move凉凉咯
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)