零时科技 || TransitSwapRouterV5 攻击分析

事件背景

2023 年 12 月 20 日下午 我们监控到 Transit Swap 项目遭到黑客在多个公链上的攻击交易,且最终黑客共计获利约 110k $。
下方为该漏洞合约在多个链上的部署地址:
https://docs.transit.finance/en/reference/smart-contracts
公链 |
ETH、BSC、HECO、OEC、Polygon、Fantom |
Arbitrum One、Klaytn、Avalanche、TRON、KCC、CFX、GLMR |
|
Solana、Aptos、zkSync Era、EOS EVM、ETC、OP、Linea Mainnet |
|
opBNB Mainnet、Base、Mantle |
攻击交易:
0x93ae5f0a121d5e1aadae052c36bc5ecf2d406d35222f4c6a5d63fef1d6de1081(BSC 链)
攻击分析

由于攻击者在多个链上对该项目进行攻击,本文主要通过对 BNB 链上攻击者交易数据进行分析,并对其交易进行整理归纳。
黑客通过 TransitSwapRouterV5 合约的多路径兑换功能将 0.01 BNB 成功兑换了约为 173.9 BNB ,如下图:

通过交易堆栈数据,我们看出该笔兑换操作经过 2 次兑换操作,不过期间调用了一个未验证的交易对合约
(0x7d7583724245eeebb745ebcb1cee0091ff43082b),并将一个最小单位的 BNB( 1/1e18 BNB )兑换为了约 43841.86 USDT,而且此处兑换得到的金额与当前 TransitSwapRouterV5 合约的自身 USDT 储备余额一致。
根据攻击交易的参数对其合约逻辑进行分析:
当兑换路径大于 1 时的逻辑如下:

深入 _swap 函数,查看具体兑换逻辑,此处的内部兑换函数在调用外部传入的 pool 池子进行代币兑换后,未对兑换后的资金进行校验,直接使用 pool 返回的兑换金额进行下一个路径的兑换操作,从而导致攻击者构造假的 pool 合约并直接在 swap 函数中返回当前 TransitSwapRouterV5 合约自身的 USDT 储备,进而造成合约资金被拿去做第二次兑换,最终使攻击者获利。

经分析该攻击者获利资金最终流入 Tornado Cash 混币平台。

总结

简单来说,TransitSwapRouterV5 合约中多路径兑换函数缺少兑换成功校验,导致多路径兑换中使用虚假的兑换金额在后续的兑换中换取真实资金并成功获利。
安全建议

在多路径兑换代币时对传入的交易对池子进行校验,或对多路径兑换操作中的兑换结果进行校验,如某次兑换资金未到账或兑换失败则直接回滚,避免攻击者使用虚假交易池造成的虚假兑换。
建议项目方上线前进行多次审计,避免出现审计步骤缺失。

往期内容回顾
零时科技 ||《2022 年全球 Web3 行业安全研究报告》正式发布!
零时科技 || 分布式资本创始人 4200 万美金资产被盗分析及追踪工作
零时科技 || 警惕恶意聊天软件!聊天记录被劫持损失数千万资产追踪分析
零时科技联合创始人黄鱼先生受邀对话《Web3 应用创新与生态安全》
零时科技创始人邓永凯先生受邀对话《公链隐私保护及生态安全》
国家网络安全宣传周|零时科技出版国内首本区块链安全书籍,助力行业发展!
零时科技 || 4 月各类攻击事件损失总金额约 9407 万美元,较 3 月有所下降
零时科技 || 3 月安全事件共造成约 2.18 亿美元损失,较 2 月损失金额明显上升
零时科技 || 2 月发生典型安全事件 21 起,损失金额约 5688 万美元,智能合约漏洞
免责声明:文章中的所有内容仅代表作者的观点,与本平台无关。用户不应以本文作为投资决策的参考。
你也可能喜欢
速读以太坊基金会 AMA 要点:L1 收入和价值积累、Pectra 升级、L2 等
L1 收入和价值积累、L2、blob 费用、L1 的 Gas 限制目标、大公司接管以太坊的风险、Pectra 升级......



加密货币价格
更多








