Using transfer() (which has a fixed 2300 gas stipend) to send ETH may cause transactions to fail when interacting with recipient contracts that require more than 2300 gas for their receive or fallback functions. This limitation can cause failures when interacting with certain contracts, leading to a poor user experience and potential loss of funds.
Contracts that require more than 2300 gas to process transactions will cause withdrawals to fail permanently, locking funds in the contract and preventing the contract owner from accessing their fees.
Manual Review
To mitigate this, replace transfer() with call() to send Ether and ensure compatibility with contracts requiring more gas, while also adding reentrancy guards:
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.