#42469 [SC-Critical] Incorrect computation of excess rewards leads to permanent freezing of user funds
Description
Brief/Intro
Vulnerability Details
function startUnstake(uint256 unStakeAmount) external {
// ... checks ...
balanceOf[msg.sender] -= unStakeAmount;
totalSupply -= unStakeAmount; // Reduces totalSupply but tokens remain in contract
vestings[msg.sender].push(Vesting(unStakeAmount, start, end));
// ... other logic ...
}Impact Details
References
Proof of Concept
Proof of Concept
Previous#42487 [SC-Insight] Redundant Slippage Check in `compound` FunctionNext#42518 [SC-Critical] Incorrect handling of total staked funds will lead to protocol insolvency
Was this helpful?