当前位置:首页 > 银饰 > BitsLab 旗下 TonBit 再次发现 TON 虚拟机漏洞:RUNVM 指令或导致智能合约执行环境污染

BitsLab 旗下 TonBit 再次发现 TON 虚拟机漏洞:RUNVM 指令或导致智能合约执行环境污染

2025-05-19 08:17:52 [黄金TD] 来源:三丝拌糟鸡网
攻击者可借助子虚拟机耗尽 gas 的瞬间,污染父虚拟机的库(libraries)并诱发后续调用失败,最终导致依赖库完整性的合约出现异常行为。

作者:BitsLab

BitsLab 旗下 TonBit 再次于 TON 虚拟机(TVM)深层代码里挖出一枚“隐形炸弹”——RUNVM 指令非原子状态迁移漏洞。攻击者可借助子虚拟机耗尽 gas 的瞬间,污染父虚拟机的库(libraries)并诱发后续调用失败,最终导致依赖库完整性的合约出现异常行为。

下面我们保留技术细节原文,为开发者呈现漏洞发现与验证的完整过程,帮助社区深入理解该问题,并提高对类似风险的防范意识。

以下是漏洞详述:

TVM 中的 RUNVM 指令可能污染调用者状态并导致库不可用。在 'RUNVM' 指令代码中发现新的漏洞。该漏洞允许污染调用者的状态。相关代码片段如下:

上述代码负责启动子虚拟机。其功能是将当前VmState中的'log'和'libraries'移动到新的VmState对象'new_state'中,然后用'new_state'替换当前VmState。

问题在于该操作并非真正的原子操作。在执行'*this = std::move(new_state);'语句之前,虚拟机可能因gas耗尽而中止进程,导致'new_state'未能成功替换当前状态。此时'libraries'可能已被移出,使得子虚拟机的库处于被清除(移动)状态。

由于RUNVM指令通过isolate_gas参数实现了子虚拟机与父虚拟机之间的gas消耗隔离,这会引发以下场景:

即使子虚拟机触发gas耗尽异常,父虚拟机仍保留足够的gas继续执行。但由于失败的状态转移过程中子虚拟机已经移动/清除了'libraries',导致后续依赖'libraries'的操作都将失败。这种情况会使得某些假定库完整性的合约出现预期之外的行为。

漏洞验证(PoC验证)

我们通过以下测试用例成功复现了该漏洞:

关键测试修改说明:

为了便于本地观察库状态,我们修改了NOP指令以强制注册一个库条目:

复现步骤:

1)将此测试用例添加到 crypto/test/vm.cpp 文件中

2)运行 test-vm 可执行程序

3)观察 XLOAD 指令执行时因空库而抛出的异常

预期行为:

NOP指令执行后:库中包含1个条目

RUNVMX指令执行后:尽管父虚拟机继续运行,但库变为空状态

XLOAD指令执行失败并抛出异常

这充分证明了非原子性状态转移与gas隔离机制共同作用时,会产生违反执行上下文完整性的不一致状态。

本次发现再次体现了 BitsLab 旗下 TonBit 在 TON 生态安全研究中的深厚实力。我们已第一时间将技术细节与缓解方案提交给 TON 基金会,并协助其完成修复。建议所有开发者在官方补丁发布后及时更新依赖库;同时在自研合约中加入更严谨的库完整性验证与 gas 管理逻辑,以防止类似问题被恶意利用。BitsLab 将继续秉持“负责任披露”原则,携手社区共同筑牢 Web3 安全防线。

关于BitsLab

BitsLab 是一家致力于守护和构建新兴 Web3 生态系统的安全组织,愿景是成为备受行业和用户尊敬的 Web3 安全机构。旗下拥有三个子品牌:MoveBit、ScaleBit 和 TonBit。

BitsLab 专注于新兴生态系统的基础设施开发与安全审计,覆盖但不限于 Sui、Aptos、TON、Linea、BNB Chain、Soneium、Starknet、Movement、Monad、Internet Computer 和 Solana 等生态。同时,BitsLab 在审计多种编程语言方面展现了深厚的专业能力,包括 Circom、Halo2、Move、Cairo、Tact、FunC、Vyper 和 Solidity等。

BitsLab 团队汇聚了多位顶级漏洞研究专家,他们曾多次荣获国际 CTF 奖项,并在 TON、Aptos、Sui、Nervos、OKX 和 Cosmos 等知名项目中发现了关键漏洞。

关于 TonBit

TonBit 作为 BitsLab 的核心子品牌,是 TON 生态系统内的安全专家和早期建设者。作为 TON 区块链的主要安全保障提供商,TonBit 专注于全面的安全审计,包括 Tact 和 FunC 语言的审计,确保基于 TON 的项目具备完整性和弹性。迄今为止,TonBit 已成功审计了包括 Catizen、Algebra、UTonic 等多个知名项目,并发现了多个关键漏洞,展现了我们在区块链安全领域的卓越能力。此外,TonBit 还成功举办了 TON CTF 比赛,吸引了众多参与者并收获了广泛关注,进一步巩固了其在 TON 生态中的安全专家地位。未来,TonBit 将继续为区块链安全保驾护航,推动技术和生态的持续发展。

(责任编辑:商业观察)

推荐文章
  • 什么是数字虚拟货币

    什么是数字虚拟货币   有些人一天工作强度高达十几个小时,每天能产出几十篇水稿,一些做得比较早的号、加上权重比较高,已经能稳定每天1~2千元的收入。...[详细]
  • 长光华芯收盘涨0.9%,主力资金净流出2540.28万元

    长光华芯收盘涨0.9%,主力资金净流出2540.28万元   所谓“会销”是指寻找特定顾客,通过亲情服务和产品说明会的方式销售产品的销售方式。...[详细]
  • 请问360借条支持学生借款吗?

    请问360借条支持学生借款吗?   这样一来,平台既省了编辑的成本,又对这些做号者有一定的控制能力,可谓一举多得。...[详细]
  • 广发银行信用卡逾期4年能做飞机吗?

    广发银行信用卡逾期4年能做飞机吗?   站长也不用抢着进新闻源了,  客户的选择范围更广了,  只要提供优质内容,百度展示都不叫事儿。...[详细]
  • bfx交易所

    bfx交易所 这在以前的电子游戏中是闻所未闻的。...[详细]
  • 比特币价格2013

    比特币价格2013   为了用户体验,从P2P转型B2C  实际上,友友用车之前叫友友租车,最早成立于2014年,主要业务是私家车共享平台。...[详细]
  • swftc币行情

    swftc币行情   三、市场分析  由于《王者荣耀》的推出时间为2015年的第三季度,所以我们先着重分析一下当时的市场概况。...[详细]
  • 波宝pro钱包

    波宝pro钱包 第二,即使今天的年轻人,其整个诉求也在不断地变化,你要是不是要跟随他们?  15年前我可以靠做一个假冒的耐克混得风生水起,今天我做个乔丹鞋,也可以还不错。...[详细]
  • waves价格

    waves价格 但从HTC手机这些年的“败家史”中,我们能看到HTC的企业运营存在着严重的问题,或者说存在一定的体制问题。...[详细]
  • bitcoinhot钱包-bitcoincore钱包

    bitcoinhot钱包-bitcoincore钱包 他们都说要做轻资产模式、做互联网品牌,因为VC喜欢这一套,我心想你做轻资产怎么可能做过阿里巴巴呢?马云是创业天才,更何况你比人家晚了10年,怎么跟人家玩儿?只有刘强东直白跟我说,他就是要做自营电商、做...[详细]