MondrianWallet::_payPrefund
does not handle failures when attempting to send ETH to the EntryPoint
, potentially allowing malicious activities that could drain the its resources.
MondrianWallet::_payPrefund
is designed to send the required ETH to cover transaction costs to the EntryPoint
and it currently sends these funds without checking the success of the transaction.
It is assumed that the EntryPoint
is responsible for ensuring it receives the necessary funds, however, if the transfer fails and this is not checked or logged, the EntryPoint
might proceed with transactions without having received the required funds, potentially leading to financial discrepancies or abuse where the EntryPoint
incurs costs without compensation.
Malicious actors could potentially exploit this by repeatedly causing transactions that fail to transfer ETH correctly, intentionally draining the EntryPoint
's resources. Also, ignoring transfer failures could lead to situations where the EntryPoint
executes transactions without receiving the necessary funding, which might result in losses or insufficient fund coverage for transaction fees.
Manual review
Check the success of the ETH transfer and handle failures appropriately:
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.