Move语言引用安全模块整数溢出漏洞威胁代码安全

Move语言引用安全模块存在整数溢出漏洞

近期,一个严重的整数溢出漏洞被发现存在于Move语言的引用安全模块中。这个漏洞可能导致拒绝服务攻击,对Move语言的安全性构成了潜在威胁。

Move语言在执行字节码前会进行代码验证,分为多个步骤。这个漏洞出现在reference_safety步骤中,该步骤负责验证引用的安全性,包括检查是否存在悬空引用、可变引用访问是否安全等。

Numen Cyber独家发现move语言又一高危漏洞

漏洞的根源在于引用安全模块中的一个整数溢出问题。当函数参数数量和局部变量数量之和超过256时,由于使用了u8类型来迭代局部变量,会导致整数溢出。这个溢出可能被利用来绕过安全检查,最终造成拒绝服务攻击。

Numen Cyber独家发现move语言又一高危漏洞

具体来说,漏洞利用过程如下:

  1. 构造一个包含循环的Move代码块,使其多次执行。

  2. 设置大量的函数参数和局部变量,使其总和超过256。

  3. 在第一次执行时,由于整数溢出,新的locals map长度会变为一个很小的值。

  4. 在后续执行时,尝试访问不存在的局部变量索引,导致panic和程序崩溃。

Numen Cyber独家发现move语言又一高危漏洞

这个漏洞暴露出即使是像Move这样注重安全的语言,也可能存在被忽视的安全隐患。它提醒我们代码审计的重要性,以及在语言设计中需要更全面的安全考虑。

Numen Cyber独家发现move语言又一高危漏洞

对于Move语言的使用者和开发者来说,建议密切关注官方的安全更新。同时,在编写Move代码时也要注意控制函数参数和局部变量的数量,避免触发这类边界情况。

Numen Cyber独家发现move语言又一高危漏洞

从更宏观的角度看,这个漏洞也反映出仅依赖静态验证可能不足以保证完全的安全性。未来Move语言可能需要在运行时增加更多的动态检查,以防止类似的安全问题。

Numen Cyber独家发现move语言又一高危漏洞

总的来说,这个漏洞的发现再次证明了持续的安全研究对于提升区块链技术安全性的重要性。随着Move语言在Web3领域的应用不断扩大,我们期待看到更多的安全改进措施被引入,以构建一个更加健壮和可靠的智能合约生态系统。

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 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 9
  • 分享
评论
0/400
FUDwatchervip
· 07-11 15:51
溢出的亏我上周还在吹Move
回复0
PriceOracleFairyvip
· 07-10 20:42
天哪,移动被基本的 u8 溢出搞得一塌糊涂……审计员怎么会错过这个,真是无语
查看原文回复0
资深无常损失爱好者vip
· 07-08 18:08
move这也翻车是吧
回复0
光速退群大师vip
· 07-08 18:00
讲真move这下G了
回复0
UnluckyLemurvip
· 07-08 17:59
move这是真顶不住了啊
回复0
HackerWhoCaresvip
· 07-08 17:58
太菜了8,溢出都能溢出
回复0
TerraNeverForgetvip
· 07-08 17:58
哎 move也翻车了
回复0
AirdropHunter420vip
· 07-08 17:57
又一个0day出炉了
回复0
Ser_Liquidatedvip
· 07-08 17:50
零日漏洞了啊这是
回复0
查看更多
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)