最近の@ResupplyFiハックは、単純な整数除算がいかに壊滅的な金庫操作につながるかを示しています。展開から数時間以内に実行された$9.56Mのエクスプロイト。 この重大なERC4626脆弱性を分解してみましょう↓
2/ 攻撃ベクトル: ERC4626 「最初の寄付」操作: • デプロイ時に空のボールト • 攻撃者は1ウェイを預けます • 多額の資産寄付を行う • 株価は天文学的に高騰する • プロトコルの為替レート計算が中断される
3/ 1行の脆弱性: _exchangeRate = 1e36 / IOracle(_exchangeRateInfo.oracle).getPrices(アドレス(担保)); 丸め保護のない整数除算→為替レートは、オラクル価格が大きすぎるとゼロに丸められます。
4/ エクスプロイトチェーン: 1. 空の金庫に1ウェイを入金する 2. 株価をつり上げるために寄付する 3. オラクルは価格の高騰を報告しています 4. 為替レート = 除算による 0 5. LTVチェック:0 <= maxLTV(常にtrue! 6. 無制限の借入ロック解除
5/ 予防は簡単です: _exchangeRate = 1e36 /価格; require(_exchangeRate 0, "無効なレート"); また: • 最低入金額を強制する •シェア比率チェックを追加する • ボールトの流動性を監視する
6/ 重要な教訓: ERC4626 コンテナーには、デプロイ時に追加の保護が必要です。 「最初の預金者」の問題は新しいものではありませんが、ResupplyFi は、それがいかに重大な脆弱性に連鎖するかを示しています。 テクニカル分析の全文は、当社のブログでお読みください。
3.4K