Nguồn gốc lỗ hổng bắt nguồn từ hàm sweepToken() hợp đồng cToken. Chức năng được gọi để chuyển TUSD, bao gồm hai hợp đồng khác nhau tương tác với cùng số dư, được khóa trong hợp đồng đến một địa chỉ quản trị do nhóm Compound kiểm soát.
Trong khi tài sản thế chấp cơ bản vẫn nằm trong quyền kiểm soát của địa chỉ quản trị, totalCash của hợp đồng (tổng TUSD trong hợp đồng) sẽ được chỉ định giá trị bằng 0 nếu hàm scanToken() được gọi, dẫn đến mất giá trị của cTUSD. Khi tiền được trả lại cho hợp đồng, TUSD / cTUSD sẽ trở lại tỷ giá ban đầu.
Hacker khai thác lỗ hổng theo ba cách:
1/ Thanh lý người dùng đã cung cấp TUSD làm tài sản thế chấp
2/ Vay TUSD, thực hiện cuộc tấn công và trả lại ít TUSD hơn do biến động tỷ giá hối đoái.
3/ Thực hiện tấn công, sau đó mint cTUSD. Khi trả lại cho hợp đồng, đổi cTUSD để kiếm lợi.
Compound đã giảm nhẹ cuộc tấn công bằng cách vô hiệu hóa hợp đồng TUSD để chỉ có một điểm vào.
—————————————————
👉 Theo dõi và thảo luận tại FXCE Ventures
Group Chat | Research Hub | FXCE Spotlight | Tổng hợp Airdrop | Pool Coin