큐빗 파이낸스 - REKT



또 다른 뉴스입니다…

상습 범인 팬케이크버니 팀이 런칭한 BSC 기반의 대출 프로토콜인 큐빗 파이낸스는 8000만 달러 해킹의 피해자가 되었습니다.

이는 저희 리더보드의 7위에 해당하는 수치입니다.

하지만 다음 주에 누가 기억이라도 할까요?

큐빗은 크로스 체인 담보화를 통해, 이더리움에서 자산을 잠그고 QBridge 입금 기능을 통해 BSC에서 자금을 빌릴 수 있도록 만들어줍니다.

공격자는 이더리움에서 ETH가 입금되지 않아도 BSC에서 xETH를 사용할 수 있는 허점을 발견하여서 이득을 취했습니다.

공격자의 이더리움 주소는 공격이 시작되기 직전, 대략 2022년 1월 27일 21:30 PM +UTC에 토네이도 캐시를 통해 자금을 받았습니다. 큐빗 팀의 사후 분석 보고서에 따르면:

1. 공격자는 이더리움 네트워크에서 QBridge 입금 기능을 호출하였고, 이는 입금 기능인 QBridgeHandler를 호출하였습니다.

2. QBridgeHandler는 오리지널 tokenAddress에서 WETH 토큰을 받는데, 만약 트랜잭션을 실행시키는 사람이 WETH 토큰이 없으면, 전송이 발생하지 않아야 합니다.

3. tokenAddress.safeTransferFrom(depositer, address(this), amount);

4. 위의 코드를 보면 tokenAddress가 0 이어서, safeTransferFrom 기능으로 검증되지 않고, 수량에 상관없이 입금 기능이 정상적으로 실행되어버렸습니다.

5. 추가적으로, tokenAddress는 depositETH가 추가되기 전의 WETH 주소였으나, depositETH가 추가되고 나서 ETH의 tokenAddress가 0으로 대체되었었습니다.

6. 요약해보자면, 입금 기능은 depositETH가 새롭게 개발된 이후에 사용되면 안 되는 기능이었으나, 컨트랙트에 계속 남아있었기에 발생했던 문제였습니다.

써틱의 분석에 따르면:

이번 취약점의 주요 원인은 tokenAddress가 0 (null) 주소 (0x0…000)이어도 tokenAddress.safeTransferFrom()이 거절되지 못했다는 것이었습니다.

이더리움 컨트랙트에 ETH를 하나도 잠그지 않아도, 공격자의 BSC주소는 이제 큐빗에서 77,162 qXETH (1억8500만 달러)를 담보로 사용할 수 있는 접근 권한을 가지게 된 것입니다.

그들은 이를 담보로 사용하여 WETH, BTC-B, USD 스테이블 코인들, CAKE, BUNNY, 그리고 MDX를 대출받아 총 20만 BNB (~$8000만)로 스왑 하였고, 이는 이 BSC 주소에 남아있습니다.

큐빗의 문서에 따르면, 크로스체인 담보 기능은 2021년 12월에 오딧을 받았다고 합니다.

모든 X-담보 기능 (컨트랙트와 스크립트를 포함한)은 전문 오딧 회사인 Theori의 오딧을 받았습니다. 오딧 결과는 이곳에서 보실 수 있습니다.

해당 프로젝트는 Immunefi에서 최대 25만 달러의 바운티가 있으나, 큐빗 팀은 협상할 준비가 되어있는 것 같습니다.

지난 2021년 5월에, 저희는 팬케이크버니 해커들에게 10만 DAI를 선물로 받았었습니다.

저희는 자금을 되돌려주면서 팀에게 “이번에는 도난당하지마세요” 라고 말했으나, 다시 이런 상황에 와버렸습니다.

저희의 기부 주소는 다음과 같습니다.


기사 공유하기

REKT는 익명 작성자들에 의한 공공 플랫폼이며, REKT에 작성된 관점이나 내용에 대해서 그 어떤 책임도 지지 않습니다.

기부 (ETH / ERC20): 0x3C5c2F4bCeC51a36494682f91Dbc6cA7c63B514C

disclaimer:

REKT는 당사 웹 사이트의 익명의 작성자 또는 REKT에 의해 게시되거나 관련된 서비스에서 게시되는 콘텐츠에 대해 어떠한 책임도 지지 않습니다. 당사는 익명 작성자들의 행동 및 게시물에 대한 규칙을 제공하지만, 익명의 작성자가 웹 사이트 또는 서비스에 게시, 전송 혹은 공유한 내용을 통제하거나 책임지지 않으며, 귀하가 웹 사이트 또는 서비스에서 직면할 수 있는 불쾌함, 부적절함, 음란함, 불법 또는 기타 해로운 콘텐츠에 대해서도 책임을 지지 않습니다. REKT는 당사 웹 사이트 또는 서비스 사용자의 온라인 또는 오프라인 행위에 대한 책임을 지지 않습니다.