The contract can receive ETH but lacks a withdraw function, posing a potential issue.
The BridgeReth contract contains an empty receive function that is marked as payable. This allows someone to send a transaction with msg.value > 0, but there is no mechanism to withdraw these funds from the contract, resulting in them being permanently trapped.
Source: BridgeReth.sol
Impact: High, as the funds cannot be withdrawn from the contract.
Likelihood: Low, as users would need to send funds by mistake.
Affected users, funds at risk, severe disruption, unavailability, incorrect function, and state not handled appropriately are potential consequences.
Manual Review
To address this issue, consider either removing the receive function altogether or adding a revert statement similar to the Diamond contract as shown below:
This will prevent unintended ETH deposits from becoming permanently trapped in the contract.
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.