🎉【Gate 3000万纪念】晒出我的Gate时刻,解锁限量好礼!
Gate用户突破3000万!这不仅是数字,更是我们共同的故事。
还记得第一次开通账号的激动,抢购成功的喜悦,或陪伴你的Gate周边吗?
📸 参与 #我的Gate时刻# ,在Gate广场晒出你的故事,一起见证下一个3000万!
✅ 参与方式:
1️⃣ 带话题 #我的Gate时刻# ,发布包含Gate元素的照片或视频
2️⃣ 搭配你的Gate故事、祝福或感言更佳
3️⃣ 分享至Twitter(X)可参与浏览量前10额外奖励
推特回链请填表单:https://www.gate.com/questionnaire/6872
🎁 独家奖励:
🏆 创意大奖(3名):Gate × F1红牛联名赛车模型一辆
👕 共创纪念奖(10名): 国际米兰同款球员卫衣
🥇 参与奖(50名):Gate 品牌抱枕
📣 分享奖(10名):Twitter前10浏览量,送Gate × 国米小夜灯!
*海外用户红牛联名赛车折合为 $200 合约体验券,国米同款球衣折合为 $50 合约体验券,国米小夜灯折合为 $30 合约体验券,品牌抱枕折合为 $20 合约体验券发放
🧠 创意提示:不限元素内容风格,晒图带有如Gate logo、Gate色彩、周边产品、GT图案、活动纪念品、活动现场图等均可参与!
活动截止于7月25日 24:00 UTC+8
3
Move语言引用安全检查存在整数溢出漏洞 可能导致拒绝服务攻击
Move语言中发现新的整数溢出漏洞
近期,一个Move语言中的新整数溢出漏洞被发现。这个漏洞存在于代码验证阶段的引用安全检查过程中,可能导致拒绝服务攻击。
Move语言在执行字节码前会进行代码验证,分为四个步骤。本次漏洞出现在引用安全(reference_safety)步骤中。引用安全检查主要验证代码中是否存在悬空引用、可变引用访问是否安全、全局存储引用访问是否安全等问题。
验证过程中,会对每个基本块进行分析。基本块是指除入口和出口外没有分支指令的代码序列。Move通过遍历字节码,查找分支和循环指令来识别基本块。
引用安全检查模块会扫描函数中各基本块的字节码指令,判断引用操作是否合法。主要流程包括:执行基本块代码,生成执行后状态,将执行前后状态合并更新块状态,并传播到后续块。
漏洞出现在合并状态的过程中。当函数参数数量和局部变量数量之和超过256时,由于使用u8类型存储,会发生整数溢出。这导致在后续执行中访问不存在的局部变量,从而引发panic。
攻击者可以构造一个循环的基本块,利用这个溢出改变块的状态。当再次执行时,访问不存在的局部变量索引就会导致拒绝服务。
这个漏洞反映出即使是经过严格设计的Move语言,也可能存在被绕过的安全漏洞。建议Move语言设计者在运行时增加更多检查,以防止类似意外情况发生。未来还需要进一步加强Move语言的安全性研究。