Solend Hack

Reported loss $16K
Solana
Missing account-relationship validation

What happened

On August 19, 2021, an attacker exploited a missing account-relationship check in Solend's reserve-configuration instruction. After supplying an attacker-controlled lending-market account, they altered risk settings for several reserves, which made healthy borrower positions liquidatable. Solend stopped the attempt; five positions were wrongfully liquidated and later fully refunded.

Technical root cause

process_update_reserve_config authenticated the supplied lending-market account but did not verify that it was the market recorded in the target reserve. An attacker could provide a separately created market under their control and satisfy the incomplete authorization path. The patch added an equality check rejecting a reserve whose bound market differs from the supplied market.

How it happened

  1. The attacker created a lending market they controlled, then invoked UpdateReserveConfig against Solend reserves while passing that market account.
  2. They lowered liquidation thresholds, raised liquidation bonuses, and set the minimum borrow rate to 250% for USDC, SOL, ETH, and BTC.
  3. Those changes could have enabled profitable wrongful liquidations; the team halted the incident before an attacker theft occurred.

Protocol details

Classification Access Control
Protocol Type Exploit/Other
Affected asset / contract SLND
Implementation language Rust
Protocol links Website @solendprotocol

Funds Recovery

100%

Recovered

$16K

Net Loss

$0

Understand the attack patterns

Build your security review skills

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