HyperLab | Debank钱包Rabby Swap合约攻击 任意外部调用成罪魁祸首

This article is not available in the current language yet. Showing the original version.
根据 Debank 钱包插件 Rabby的官方推特消息, 称其swap 智能合存在漏洞(任意外部调用)。攻击者绕过权限参数检查,成功获利了超 19 万美元。

10月11消息, 根据 Debank 钱包插件 Rabby的官方推特消息, 称其swap 智能合存在漏洞(任意外部调用)。攻击者绕过权限参数检查,成功获利了超 19 万美元。据最新交易跟踪监测, Rabby 攻击者已将 114 枚 ETH 和 179 枚 BNB 转入 Tornado Cash。

HyperLab | Debank钱包Rabby Swap合约攻击 任意外部调用成罪魁祸首

攻击者地址:0xb687550842a24d7fbc6aad238fd7e0687ed59d55

部分攻击交易: 0xce0935010baf445e300d4d600caac7fc1fecb5ccb092cdbef57904aa7e5408b2

攻击细节: 

HyperLab | Debank钱包Rabby Swap合约攻击 任意外部调用成罪魁祸首

下图展示了RubbyRouter 合约中的_swap()例程的代码片段(代码来源:PeckShield审计报告),它被用来完成dexRouter中srcToken到dstToken的代币交换。在78行的位置, 通过调用 OpenZeppelin 库中的 functionCallWithValue() 方法进行swap. 但是对于传入的参数, _swap() 方法的内部没有进行参数相关的检查。Hyperlab安全实验室建议对于调用函数应该做严格的权限限制,从而避开调用任意函数的隐患。

HyperLab | Debank钱包Rabby Swap合约攻击 任意外部调用成罪魁祸首

受漏洞合约影响需要被取消授权的地址(多链):

ETH: 0x6eb211caf6d304a76efe37d9abdfaddc2d4363d1

POLYGON: 0xf23b0f5cc2e533283ea97f7b9245242b8d65b26b

BSC: 0xf756a77e74954c89351c12da24c84d3c206e5355

AVAX: 0x509f49ad29d52bfaacac73245ee72c59171346a8

FTM: 0x3422656fb4bb0c6b43b4bf65ea174d5b5ebc4a39

OP: 0xd1a57cb694cf4941360a937d5f5633b363204e18

ARBITRUM: 0xf401c6373a63c7a2ddf88d704650773232cea391

GNOSIS:0x5a0ab5d78c4d40e3a467a8bc52ce16cce88c999d

CRO: 0xa1b61f32a7c11e64df6b11d420d2bb7656f4b6ab

AURORA: 0x67832c40daf905ea5dde3fca036219e861a6bb8a

HMY: 0x563b6c3646e587caad54d57b5c0e98d7e99aeb4f

METIS:  0xb490f6a28eb43709410737dbdc1ffb4d3a5c4989

MOBM: 0xa166a168463c44c6c973c4f8adf97031d7b25499

NOVA: 0xe02504dcbc0721e7a4861c56b842c53e28dec84d

BOBA: 0x328fd59a417463af4b0a465794ad627d5fc90d7b

KLAY: 0xfcda4bd27e841dec3d8a49a3187f44757c8b9eac

ASTA: 0x563b6c3646e587caad54d57b5c0e98d7e99aeb4f

HECO: 0x275ad6133d7662e6feb70365c93d78363286dfcc

CELO: 0xc9f8a7d8cabb46135a90b9fa0ce58b75e8d15cc5

Hyperlab 安全实验室认为:为了更好的用户体验,现在大多数的加密货币钱包及其他DApp应用(比如NFT,DeFi)都提供了便捷的一键授权功能。而这些授权功能在给用户带来便利的同时,埋了下很大的安全隐患,比如“代币无限授权”。如果合约存在问题,那么即便用户没有将资金存入到合约中,攻击者也可以窃走用户钱包内的资金。Hyperlab建议,对于钱包用户而言,定期检查钱包的授权权限十分重要。用户应及时取消不常用的授权功能。同时,对于应用开发者而言,加强合约审计也是降低安全风险的重要途径之一。

以Rabby 钱包为例,RabbyRouter合约为用户提供了在指定的DEX路由器中交换代币的接口,使用过Rabby 钱包或者其swap功能的用户尽快取消对 Rabby 的授权。检查及取消授权的步骤如下,

❖ - Go to "Security" -> "Token Approval"

❖ - Check out the total value of your token exposure

❖ - Search by token/protocol/address to find the risky approval

❖ - Decline approval in one click

 

HyperLab | Debank钱包Rabby Swap合约攻击 任意外部调用成罪魁祸首

HyperLab | Debank钱包Rabby Swap合约攻击 任意外部调用成罪魁祸首

 

 

 

Share to:

Author: HyperLab安全实验室

Opinions belong to the column author and do not represent PANews.

This content is not investment advice.

Image source: HyperLab安全实验室. If there is any infringement, please contact the author for removal.

Follow PANews official accounts, navigate bull and bear markets together