
PANews 3月12日消息,據BlockSec Phalcon監測,DBXen合約今日上午遭遇攻擊,估計損失約15萬美元。根本原因在於ERC2771元交易下發送者身份不一致。在burnBatch()函數中,gasWrapper()修飾器使用_msgSender()(實際用戶)更新狀態,而回調函數onTokenBurned()使用msg.sender(轉發器)。這導致accCycleBatchesBurned為用戶記錄,但lastActiveCycle錯誤地為轉發器更新。該不一致性破壞了claimFees()和claimRewards()的邏輯。當為用戶運行updateStats()時,合約錯誤地認為存在未處理的已銷毀批次,因為accCycleBatchesBurned已更新而lastActiveCycle未更新,從而錯誤計算獎勵和費用,使攻擊者能夠提取超額資金獲利。
内容來源:PANews
更多精彩內容,請登陸
財華香港網 (https://www.finet.hk/)
現代電視 (http://www.fintv.com)