Description:Description\
the way request.status is checked in withdrawFeesAndRewards will make the txn always revert
in withdrawRequest in Line 869 we check that
this function is used to withdraw requests done by mistake request.status == Status.Vouching (which is the right thing)
in Line 875 we call withdrawFeesAndRewards to withdraw funds deposited for user
but in that function we do this weird require require(request.status == Status.Resolved); in Line 1261 that will make the txn always revert and the function to preform incorrectly
Github username: @iwildsniperi Twitter username: iwildsniperi Submission hash (on-chain): 0x9c7285fc156c7fd0894b19b9c347cbab6234e720ea647fad9eb43cf8d4d70472 Severity: medium
Description: Description\ the way
request.status
is checked inwithdrawFeesAndRewards
will make the txn always revert inwithdrawRequest
in Line 869 we check thatthis function is used to withdraw requests done by mistake request.status == Status.Vouching (which is the right thing)
in Line 875 we call
withdrawFeesAndRewards
to withdraw funds deposited for userrequire(request.status == Status.Resolved);
in Line 1261 that will make the txn always revert and the function to preform incorrectlyAttack Scenario\ Users won't be able to cancel their mistaken made request and will lose funds to the challenger as a consequence
Attachments
Proof of Concept (PoC) File
Revised Code File (Optional)