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 공식 계정을 팔로우하고 함께 상승장과 하락장을 헤쳐나가세요
관련 특집
PANews APP
태국, 다부처 합동 단속으로 전기 도용 혐의 암호화폐 채굴기 315대 압수
PANews 속보