Dough Finance Hack

Reported loss $2.0M
Ethereum
Unvalidated call data exploit

What happened

Dough Finance's deleveraging connector was exploited through unvalidated external-call data. The attacker repaid a victim vault's debt, triggered withdrawal of its Aave collateral, and redirected the withdrawn WETH using the connector's call authority.

Technical root cause

ConnectorDeleverageParaswap failed to validate calldata in its deleveraging call chain. This exposed an arbitrary external-call path that could redirect assets withdrawn from user vaults.

How it happened

  1. Flash-loaned USDC repaid an affected DoughDsa vault's Aave debt.
  2. Crafted data entered the ConnectorDeleverageParaswap flashloanReq and deloop call chain.
  3. The deleveraging flow withdrew WETH collateral; another attacker-supplied call invoked transferFrom to send it to the attacker.
  4. The WETH was exchanged for USDC to repay the flash loan, and the process was repeated against other vaults.

Protocol details

Classification Protocol Logic / Borrowing and Lending / Access Control
Protocol Type Lending
Implementation language Solidity
Protocol links Website @DoughFina

Build your security review skills

Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.