Fluid (SUP) can be withdrawn from the Locker while the unlock flag is false
Summary
The unlock flag is meant to signal that users can unlock SUP from their Locker. However, provideLiquidity() and withdrawLiquidity() are missing this flag, so users can unlock the SUP even with the unlock flag set to false.
Root Cause
https://github.com/sherlock-audit/2025-06-superfluid-locker-system/blob/main/fluid/packages/contracts/src/FluidLocker.sol#L420 https://github.com/sherlock-audit/2025-06-superfluid-locker-system/blob/main/fluid/packages/contracts/src/FluidLocker.sol#L447 Provide liquidity and withdraw liquidity are missing the unlockAvailable modifier.
Internal Pre-conditions
None
External Pre-conditions
None
Attack Path
- Locker has the unlock flag set to false.
- User can provide liquidity, wait the tax free period and withdraw liquidity, while the unlock flag is still false.
Impact
Users break key functionality.
PoC
None
Mitigation
Add the unlockAvailable modifier to these functions.