Functions like deposit
, redeem
, and unstake
perform external calls (e.g., safeTransferFrom
, safeTransfer
) without reentrancy guards, allowing attackers to re-enter and manipulate the contract state.
Reentrancy Attack Risk
Code Affected:
All state-changing functions.
deposit()
, redeem()
, unstake()
functions
Potential fund theft due to malicious reentrancy attacks.
Unauthorized state manipulation leading to financial losses.
Manual Code Review: Identified lack of reentrancy protection.
Slither: Detected potential reentrancy attack surfaces.
Implement reentrancy guards (e.g., nonReentrant
from OpenZeppelin’s ReentrancyGuard
).
Ensure external calls occur last in functions to prevent state inconsistencies.
Perform thorough testing with adversarial reentrancy simulations.
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.