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