Transaction Can Be Executed With Insufficient Balance Check Bypass
The balance check in _executeTransaction occurs after checking confirmations and timelock but before marking the transaction as executed. An attacker could potentially exploit this by having multiple transactions checking the same balance simultaneously, or by manipulating the contract balance between the check and the actual transfer through forced Ether sends or other mechanisms.
Likelihood:
The balance check in _executeTransaction occurs after checking confirmations and timelock but before marking the transaction as executed. An attacker could potentially exploit this by having multiple transactions checking the same balance simultaneously, or by manipulating the contract balance between the check and the actual transfer through forced Ether sends or other mechanisms.
Impact:
While the nonReentrant modifier prevents direct reentrancy, if multiple signers attempt to execute different high-value transactions simultaneously in separate transactions, race conditions could occur where both pass the balance check but the second fails during execution.
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.