The access control for operator is missing in withdrawMaxAndTransfer
function
When the NFT should be transferred to other recipient, usually maximum amount will be withdrawn before the NFT is actually transferred.
Currently, in the protocol, there's two ways to achieve this action:
Call withdrawMax
and then call transferFrom
.
Call withdrawMaxAndTransfer
.
The approved operator can take the first way since they have permission in both withdrawMax
and transferFrom
functions, but they can't take the second way because of lack of permission.
Logic mismatch and kind of DoS
Manual Review
Operators should be allowed to call withdrawMaxAndTransfer
https://docs.codehawks.com/hawks-auditors/how-to-determine-a-finding-validity
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.