The claimRewards function inside the LiquidationPool contract can be used by stakers to claim their rewards. As native ether is transferred to the user during this function call, reentering is possible. This function and the findRewards function both do not implement a reentrancy guard. Therefore, an external contract could read from findRewards while the rewards are currently being withdrawn.
Here we can see both functions and that claimRewards allows reentering when receiving native ether, while findRewards reads from the same mapping and both miss a reentrancy guard:
Therefore, a read only reentrancy possibility occurs.
The missing guards could lead to critical vulnerabilities in third party protocols that want to build on top of the standard.
Implement a reentrancy guard in the claimRewards function and a read only reentrancy guard in the findRewards function.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.