Saffron Lido Vaults — disclosed vulnerability reports and payouts

Every publicly disclosed and closed bug bounty report we hold for Saffron Lido Vaults, with our own summary of each finding and a link to the original disclosure.

Reports indexed
3
Total paid
$0
Critical
0
Largest payout
$0

This page collects the 3 closed, publicly disclosed Saffron Lido Vaults reports indexed on Coin Buggie. Nothing here is active or unpatched — every entry was published by the programme or the researcher after remediation.

The findings concentrate in Logic error, across EVM-Solidity. Reading a single protocol end to end is the fastest way to see which assumptions its codebase repeatedly gets wrong, which is usually a better predictor of where the next finding lives than the category alone.

Use the vulnerability class links below to compare these findings against the same bug class in other protocols.

What reviewers look for

  • Logic error findings disclosed against Saffron Lido Vaults

Curated highlights

The largest disclosed payouts in this group, with our own summary of each. Every report links back to the original disclosure.

highLogic errorEVM-Solidity$0

Saffron Lido Vaults: `totalEarnings` is incorrect when withdrawing after ending which will withdraw too many funds leaving the `Vault` insolvent

In Saffron's Lido vault, `vaultEndedWithdraw()` computes `totalEarnings` by scaling the withdrawn staking shares to the current ETH value but subtracts `totalProtocolFee` as a flat amount that was accreted at an older, lower stETH price. Because the fee is not re-denominated to current shares, later withdrawers receive more ETH than the vault can cover, draining funds and leaving the contract insolvent, while some ETH can also end up stuck due to a related discounting error. The report gives a two-user numeric walkthrough proving the over-withdrawal, and the fix (tracking the fee in shares) was merged in PR #29.

Saffron Lido VaultssherlockSep 21, 2024Open
highLogic errorEVM-Solidity$0

Saffron Lido Vaults: The incorrect accounting of protocol fee will cause double charging fee and wrong distribution of earnings for variable users

In Saffron's Lido vault contract, variable-side earnings accounting mishandles the protocol fee when a user withdraws during the ongoing (started, not ended) period. The full earnings amount, including the protocol fee portion, is converted to Lido staking shares and recorded in withdrawnStakingEarningsInStakes and per-user share tracking. Later, at vault end, the terminal earnings calculation uses those inflated share counts and also subtracts totalProtocolFee again, so variable users who withdrew early are charged the protocol fee twice and end up unable to claim the full amount they are owed. The double-counted excess is not distributed to the protocolFeeReceiver and becomes permanently stuck in the contract, while a portion of one user's earnings can be misattributed to another variable user.

Saffron Lido VaultssherlockSep 21, 2024Open
mediumLogic errorEVM-Solidity$0

Saffron Lido Vaults: Withdrawing after a slash event before the vault has ended will decrease `fixedSidestETHOnStartCapacity` by less than it should, so following users will withdraw more their initial deposit

In the Saffron LidoVault, a withdraw during an active (started, not ended) vault after a Lido stETH slashing event reduces the accounting variable `fixedSidestETHOnStartCapacity` by the slashed withdraw amount rather than by the user's original fixed deposit share. Because the cap is under-decremented, when the stETH/ETH ratio recovers a later fixed-rate depositor withdraws a value exceeding their original deposit, shifting the loss onto fixed/variable users. The finding was acknowledged by the protocol and is a medium logic/accounting error reachable whenever a slash occurs during the vault's lifetime.

Saffron Lido VaultssherlockSep 21, 2024Open

Vulnerability classes disclosed here

Related protocol pages