📢 Gate广场 #NERO发帖挑战# 秀观点赢大奖活动火热开启!
Gate NERO生态周来袭!发帖秀出NERO项目洞察和活动实用攻略,瓜分30,000NERO!
💰️ 15位优质发帖用户 * 2,000枚NERO每人
如何参与:
1️⃣ 调研NERO项目
对NERO的基本面、社区治理、发展目标、代币经济模型等方面进行研究,分享你对项目的深度研究。
2️⃣ 参与并分享真实体验
参与NERO生态周相关活动,并晒出你的参与截图、收益图或实用教程。可以是收益展示、简明易懂的新手攻略、小窍门,也可以是行情点位分析,内容详实优先。
3️⃣ 鼓励带新互动
如果你的帖子吸引到他人参与活动,或者有好友评论“已参与/已交易”,将大幅提升你的获奖概率!
NERO热门活动(帖文需附以下活动链接):
NERO Chain (NERO) 生态周:Gate 已上线 NERO 现货交易,为回馈平台用户,HODLer Airdrop、Launchpool、CandyDrop、余币宝已上线 NERO,邀您体验。参与攻略见公告:https://www.gate.com/announcements/article/46284
高质量帖子Tips:
教程越详细、图片越直观、互动量越高,获奖几率越大!
市场见解独到、真实参与经历、有带新互动者,评选将优先考虑。
帖子需原创,字数不少于250字,且需获得至少3条有效互动
Move语言暴露整数溢出漏洞 节点崩溃风险引关注
Move语言又现高危漏洞:整数溢出可导致节点崩溃
近期,安全研究人员在深入分析Move语言时发现了一个新的整数溢出漏洞,可能导致节点崩溃。这个漏洞存在于Move语言的引用安全验证模块中,涉及到基本块分析和状态合并过程。
Move语言在执行字节码前会进行代码验证,分为4个步骤。此次发现的漏洞出现在引用安全(reference_safety)验证阶段。该阶段会分析函数中的基本块,验证引用操作的合法性。
验证过程中会维护一个AbstractState结构体,包含局部变量(locals)和借用关系图(borrow graph)。在分析基本块时,会执行块内指令生成post state,然后与pre state合并更新状态。
漏洞产生于合并状态的join_函数中。该函数会遍历locals变量,但locals包含了函数参数和局部变量。当参数数量与局部变量数量之和超过256时,由于使用u8类型迭代,会发生整数溢出。
攻击者可以构造特殊的循环代码块,利用这个溢出改变状态。在下一轮分析时,某些指令可能访问不存在的locals索引,从而触发panic导致节点崩溃。
研究人员提供了一个概念验证(PoC),通过设置264个locals变量,可以在第二轮分析时触发panic。这暴露出Move语言在运行时缺乏足够的安全检查。
这个漏洞再次说明,即使是强调安全的Move语言也可能存在漏洞。建议Move语言设计者在运行时增加更多安全检查,而不仅仅依赖于验证阶段的静态分析。同时也提醒开发者加强代码审计,避免类似疏忽。