全球数字财富领导者

BonqDAO+预言机漏洞

2023-02-02 19:31:24
金色财经
金色财经
关注
0
0
获赞
粉丝
喜欢 13 0收藏举报
— 分享 —
摘要:UTC时间 2月1日, 安全公司Fairyproof监测到Polygon上BonqDAO借贷协议的价格预言机因存在漏洞被攻击。

UTC时间 2月1日, 安全公司Fairyproof监测到Polygon上BonqDAO借贷协议的价格预言机因存在漏洞被攻击。

TellorFlex是BonqDAO协议的价格预言机。但是TellorFlex的价格提供者staker 的注册机制不完善,导致攻击者仅需质押10个TRB代币,就可以将任意地址注册为价格提供者并且任意修改预言机的价格。

TellorFlex合约:https://polygonscan.com/address/0x8f55d884cad66b79e1a131f6bcb0e66f4fd84d5b

攻击交易: 0x31957ecc43774d19f54d9968e95c69c882468b46860f921668f2c55fadd51b19

预言机价格提供者的注册函数 depositStake(uint256 amount)如下图所示:

UtWGaNPbWs5tTImbE9iItLybGj1Fy0Oju2DKJtOC.png
这意味着价格提供者staker在注册时会查看其地址的投票数量,即governance.getVoteTallyByAddress()。

然而gonverance的地址却是: 0x7B74cc7d66f4b286A78d5F02a55E36E89c3fa9F0

即msg.sender申请成为价格提供者的地址其实是攻击者部署的合约地址: 0xbaf48429b4d30bdfad488508d3b528033331fe8a

调用0x7B74cc7d66f4b286A78d5F02a55E36E89c3fa9F0的接口 getVoteTallyByAddress()可查看得票数为0。这意味着治理合约没有为 0xbaf48429b4d30bdfad488508d3b528033331fe8a进行过投票。

N8DkbtmFxToUiUx0Wo5vkaLbY3tkj1jcGt8XxkKM.png
 

漏洞出现在TellorFlex没有对治理合约返回的得票数进行验证,从而让恶意的价格提供者地址得票为0时通过了验证,让攻击者操纵价格,将借贷池掏空从而获利。

攻击者在攻击交易中获利超过 170 万美元。

Fairyproof安全建议:

• 开发者应使用chainlink等经过考验的预言机。若开发使用新的预言机方案时,请务必进行安全审计。

• 在外部调用时注意对返回值进行检查。

• 在使用治理合约时,需要对治理投票的阈值进行验证

来源:金色财经

1. 欢迎转载,转载时请标明来源为FX168财经。商业性转载需事先获得授权,请发邮件至:media@fx168group.com。
2. 所有内容仅供参考,不代表FX168财经立场。我们提供的交易数据及资讯等不构成投资建议和依据,据此操作风险自负。
go