Logic error in handling pool's state
Days in Operation:
Peckshield reported that MarketXYZ, and QuickswapDEX was among those affected. $220k was exploited in a flash loans attack due to a vulnerability with the Curve Oracle, which marketxyz was using. Beosin broke down the exploit as follows:
Attacker 1(0x4206d) gained 138 $ETH (bridged to Ethereum) and attacker 2 (0xe3671) profited 700 $Matic. Funds on Ethereum were then sent to Tornado.cash.
Attacker 1: 0x4206d62305d2815494dcdb759c4e32fca1d181a0 (Ethereum)
Attacker 2: 0xe3671a41c44f50048e60939df3d26704c9652d9d (Polygon)
According to QuickSwap, only the Market XYZ lending market was compromised. QuickSwap's contracts are unaffected. @QiDaoProtocol provided the seed funds for this market. No user funds were compromised,
According to Chainsecurity, the issue lies in the LP token contract’s burnFrom function. If an underlying token is ETH, native ETH is sent out which, if the recipient is a contract, triggers the recipient’s fallback function. It is during the execution of the fallback, not all tokens have been sent (balances not fully updated) while the total supply of the LP token has already decreased. Hence, an attacker can take control of the execution flow while the pool’s state is inconsistent.
DISCLAIMER: While web3rekt has used the best efforts in aggregating and maintaining this database, this web site makes no representations or warranties with respect to the accuracy or completeness of its information and data herein, and specifically disclaim any implied warranties of merchantability or fitness for any particular purpose.
Under no circumstances, shall web3rekt be liable for any loss of profit or funds, any regulatory or governmental penalties, any legal costs, or any other commercial and non-commercial damages, including but not limited to special, incidental, consequential, or other damages from any or all usage of the data and information derived from this database.