The contract allows external calls via call{} without sufficiently ensuring that the contract’s state is updated before external interaction. Despite reentrancy guards, external contracts could exploit this and cause a reentrancy vulnerability.
Issue: External calls are made before updating the contract state, leaving the contract vulnerable to reentrancy attacks.
Attackers could exploit the reentrancy vulnerability to modify the contract state after a withdrawal, leading to fund loss or unauthorized access. This compromises the security of the funds stored in the contract.
Reentrancy Guards: Analyzed use of reentrancy guards to mitigate risks.
Always update the contract state before making any external calls to ensure that the contract’s state cannot be modified during an external interaction.
Use the transfer() method for fund transfers, which is safer and limits gas usage.
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.