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.79%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 7
  • 转发
  • 分享
评论
0/400
区块链养老院院长vip
· 7小时前
Move要凉?
回复0
Meme复读机vip
· 7小时前
又崩,今天第几次了
回复0
空投黑洞vip
· 7小时前
这波热点站队了~ move又炸
回复0
Uncle Liquidationvip
· 7小时前
又要修锅了哈
回复0
午夜快照猎人vip
· 7小时前
move凉透了
回复0
ApeWithNoChainvip
· 7小时前
move又崩?已经不值得期待了...
回复0
佛系链上人vip
· 7小时前
看完直接想躺平……
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)