PANewsは3月12日、BlockSec Phalconのモニタリングによると、DBXenコントラクトが今朝攻撃を受け、約15万ドルの損失が発生したと報じました。根本的な原因は、ERC2771トランザクションにおける送信者IDの不一致にあります。`burnBatch()`関数では、`gasWrapper()`デコレータが`_msgSender()`(実際のユーザー)を使用して状態を更新しているのに対し、コールバック関数`onTokenBurned()`は`msg.sender`(フォワーダー)を使用しています。その結果、`accCycleBatchesBurned`はユーザーの記録を行いますが、`lastActiveCycle`はフォワーダーのデータを誤って更新します。この不一致により、`claimFees()`と`claimRewards()`のロジックが破綻します。ユーザーに対して `updateStats()` が実行されると、`accCycleBatchesBurned` は更新されているものの `lastActiveCycle` は更新されていないため、コントラクトは未処理のバーンされたバッチがあると誤って想定し、報酬と手数料を誤って計算し、攻撃者が利益のために余分な資金を抽出できるようになります。
BlockSec:DBXen契約が攻撃を受け、約15万ドルの損失
共有先:
著者:PA一线
この内容は市場情報の提供のみを目的としており、投資助言を構成しません。
PANews公式アカウントをフォローして、強気・弱気相場を一緒に乗り越えましょう
PANewsアプリ
24時間ブロックチェーン業界情報を追跡し、深掘り記事を解析。

