4월 24일 XBridge 계약의 심각한 취약점이 악용되었습니다. 공격자는 이 취약점을 이용하여 XBridge를 사용하여 브리징을 위해 등록된 사용자 자금을 훔쳤습니다. 이로 인해 STC , SRLTY 및 Mazi 토큰 조합으로 인해 약 160만 달러의 손실이 발생했습니다.
개요
공격자 주소: https://etherscan.io/address/0x0cfc28d16d07219249c6d6d6ae24e7132ee4caa7
취약한 계약: https://etherscan.io/address/0x354cca2f55dde182d36fe34d673430e226a3cb8c#code
공격 Tx 1단계(소유자 재등록) : https://etherscan.io/tx/0xe09d350d8574ac1728ab5797e3aa46841f6c97239940db010943f23ad4acf7ae
공격 Tx 2단계(withdrawToken): https://etherscan.io/tx/0x903d88a92cbc0165a7f662305ac1bff97430dbcccaa0fe71e101e18aa9109c92
익스플로잇 분석
XBridge 계약을 통해 사용자는 체인 간에 연결될 토큰을 등록할 수 있습니다. 그러면 토큰 소유자는 토큰을 예치하여 연결을 위한 유동성 공급자 역할을 할 수 있으며 언제든지 토큰을 인출할 수 있습니다.
소유자가 listToken 함수를 사용하여 토큰을 나열하면 해당 주소가 _tokenOwner 로 등록됩니다. 이를 통해 _baseToken을 입금하고 출금할 수 있는 능력이 부여됩니다. 그러나 이 함수는 쌍이 설정되었는지 여부만 확인합니다. 다른 사람이 _baseToken을 다른 쌍으로 다시 등록하여 _tokenOwner 가 되는 것을 방지하는 검사가 부족합니다.





