Crypto exploits

LixirPermitDrain exploit analysis

Lixir vault tokens' `permit()` accepted a permit whose `ecrecover` returned a random nonzero address, then `transferFrom()` drained each holder's vault-token balance. DeFiHackLabs reconstructs losses of about 2.60 ETH, 4,477.72 USDC, 3,609.95 USDT, and 24,182.56 LIX across six vaults.

Reported loss
2.60 ETH, 4,477.72 USDC, 3,609.95 USDT, 24,182.56 LIX, per DeFiHackLabs
Occurred
Logged

Logged as “2026-06-25: Broken Signature Verification on LixirPermitDrain”.

Analysis1 min read

Lixir vault tokens implemented EIP-2612 permits with a weak signature check: a permit submitted with an invalid signature was treated as valid so long as ecrecover returned any nonzero address. The attacker could therefore sign a permit that authorised the attacker's own address with no valid signature, invoke permit() on every Lixir vault, and then call transferFrom() to drain each holder's full vault-token balance.

The attacker at 0x3Fa8cF7FeA68C8E76A9838d77889464DdFb6a6cf used the historical attack contract 0xEFd1b12F5E3c35D7daE0D1449674C247566f9b76 to call permit() against six vault-token contracts (LV_WETH_USDC_A, LV_LIX_WETH_A, LV_WETH_USDC_B, LV_LIX_WETH_B, LV_USDC_USDT_A, LV_USDC_USDT_B) and then drained them via transferFrom() from the targeted holders.

DeFiHackLabs reports a total loss of 2.60 ETH, 4,477.72 USDC, 3,609.95 USDT, and 24,182.56 LIX across those six vaults. The drain is in 0x17026faca0b8e4cb7531e4fb277c390eb165e81229628e0192923ad1d90a41da on Etherscan. The vulnerabilities read against the verified vault-token sources.

What would have prevented it: rejecting permit() calls where ecrecover returns the zero address, the standard condition OpenZeppelin's signature verifier already enforces. Adding a require on recovered != address(0) would have closed this without changing any valid-permit behaviour.

Sources read (3)

Other exploits

Query every incident yourself — free, no signup

Updated 14 Oct 2026. Figures are as reported by the sources listed above and are not independently verified.