executeUserOP()
in Nexus.sol
doesn't forward msg.value
to the target, despite being payable, causing user funds to get stuck in Nexus.sol
exectureUserOp()
function in Nexus.sol
is used to execute a user operation via a call using the contract's context.The function uses target.call(data)
to perform the desired user operation. The function is payable, and the user is expected to send ETH with the transaction if the task requires some ETH. However, this ETH is not forwarded to the target along with the call and instead gets stuck inside the Nexus.sol
contract. This also makes exectureUserOp()
incompatible with a lot of operations that require ETH.
Funds will get stuck in Nexus.sol
account. However, the funds can be utilized by using the execute()
function instead. This breaks the core functionality of the contract. Therefore, it qualifies as Medium severity.
Manual Review
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.