BlockSec:DBXen合约遭遇攻击,损失约15万美元

PANews 3月12日消息,据BlockSec Phalcon监测,DBXen合约今日上午遭遇攻击,估计损失约15万美元。根本原因在于ERC2771元交易下发送者身份不一致。在burnBatch()函数中,gasWrapper()修饰器使用_msgSender()(实际用户)更新状态,而回调函数onTokenBurned()使用msg.sender(转发器)。这导致accCycleBatchesBurned为用户记录,但lastActiveCycle错误地为转发器更新。该不一致性破坏了claimFees()和claimRewards()的逻辑。当为用户运行updateStats()时,合约错误地认为存在未处理的已销毁批次,因为accCycleBatchesBurned已更新而lastActiveCycle未更新,从而错误计算奖励和费用,使攻击者能够提取超额资金获利。

分享至:

作者:PA一线

本内容只为提供市场信息,不构成投资建议。

关注PANews官方账号,一起穿越牛熊