Category: Coding Mistakes
ETH sent to wrong address on cancellation
Critical Severity
Critical Impact
Medium Likelihood
Description
This bug was independently discovered by the EtherFi team and they presented us the fix which we reviewed. Here are the details of the issue:
When isLpBnftHolder
is true, the LiquidityPool is the bnft holder. In this case, if the deposit is cancelled, the 2 ETH belonging to the LiquidityPool(which is also the bnft holder), shouldn't be sent out to the _bnftStaker
, but instead should remain in the LiquidityPool.
Impact
ETH are sent to the wrong address when LiquidityPool is the bnft holder.
Recommendations
The tokens shouldn't be sent to the _bnftStaker
in case isLpBnftHolder
is true.
Remediation
This issue has been acknowledged by EtherFi, and a fix was implemented in commit 3d2b1037↗.