베이징 시간으로 2022년 5월 16일 오전 4시 22분 49초, CertiK 보안 기술 팀은 FEG가이더리움 및 BNB 체인에서 대규모 플래시 론 공격을 받아 약 130만 달러 상당의 자산 손실을 입었음을 모니터링했습니다.
이 공격은 "swapToSwap()" 기능의 취약점으로 인해 발생합니다. 이 기능은 사용자가 입력한 "경로"를수신 매개변수를 선별 및 확인하지 않고 직접 사용하여 인증되지 않은 "경로" 매개변수(주소)를 허용합니다. 현재 계약의 자산을 사용합니다.
따라서 공격자는 "depositInternal()" 및 "swapToSwap()"을 반복적으로 호출하여 현재 계약의 자산을 제한 없이 사용할 수 있는 권한을 획득하여 계약의 모든 자산을 훔칠 수 있습니다.
영향을 받는 계약 주소 중 하나: https://bscscan.com/address/0x818e2013dd7d9bf4547aaabf6b617c1262578bc7
취약점 트랜잭션
취약점 주소: https://bscscan.com/address/0x73b359d5da488eb2e97990619976f2f004e9ff7c
취약점 트랜잭션 샘플: https://bscscan.com/tx/0x77cf448ceaf8f66e06d1537ef83218725670d3a509583ea0d161533fda56c063
도난 자금 추적: https://debank.com/profile/0x73b359d5da488eb2e97990619976f2f004e9ff7c/history
관련 주소
공격자 주소: https://bscscan.com/address/0x73b359d5da488eb2e97990619976f2f004e9ff7c
공격자 계약: https://bscscan.com/address/0x9a843bb125a3c03f496cb44653741f2cef82f445
FEG 토큰 주소: https://bscscan.com/token/0xacfc95585d80ab62f67a14c566c1b7a49fe91167
FEG 래핑 BNB(fBNB): https://bscscan.com/address/0x87b1acce6a1958e522233a737313c086551a5c76#code
공격 단계
다음 공격 흐름은 이 취약성 트랜잭션을 기반으로 합니다.
① 공격자는 915 WBNB를 빌리고 116 BNB를 fBNB에 예치합니다.
② 공격자는 후속 공격에 사용할 10개의 주소를 생성했습니다.

③공격자는 "depositInternal()"을 호출하여 계약 FEGexPRO에 fBNB를 예치합니다.
"_balances2[msg.sender]"는 현재 주소의 잔액에 따라 증가합니다.

④ 공격자는 "swapToSwap()"을 호출하며 경로 매개변수는 이전에 생성한 컨트랙트의 주소이다.
이 기능을 통해 "경로"는 FEGexPRO 계약의 114 fBNB를 얻을 수 있습니다.

⑤ 공격자는 "depositInternal()" 및 "swapToSwap()"을 반복적으로 호출(3, ④ 단계)하여 다음과 같은 이유로 여러 주소(②에서 생성)가 fBNB 토큰을 획득할 수 있도록 합니다.
⑥ 공격자는 10개의 주소를 제어하고 각 주소는 현재 주소에서 114 fBNB를 소비할 수 있으므로 공격자는 공격받은 컨트랙트의 모든 fBNB를 훔칠 수 있습니다.

⑦ 공격자는 ④⑤⑥의 과정을 반복하여 컨트랙트의 FEG 토큰을 소진합니다.

⑧ 마지막으로 공격자는 고갈된 자산을 모두 매각하고 플래시론을 상환하고 나머지 수익을 최종적으로 가져간다.
자산 소재지
2022년 5월 16일 6시 43분 현재, 도난당한 자금은 Ethereum 및 BSC 체인 모두에서 공격자의 지갑(0x73b359d5da488eb2e97990619976f2f004e9ff7c)에 여전히 저장되어 있습니다.
Ethereum 및 BSC의 Tornado 현금에서 원래 자금: https://etherscan.io/tx/0x0ff1b86c9e8618a088f8818db7d09830eaec42b82974986c855b207d1771fdbe
https://bscscan.com/tx/0x5bbf7793f30d568c40aa86802d63154f837e781d0b0965386ed9ac69a16eb6ab
공격자는 13개의 FEGexPRO 계약을 공격했습니다. 다음은 개요입니다.
