TridentNFT.permitAll
prviliges discrepancy for operator
#45
Labels
1 (Low Risk)
Assets are not at risk. State handling, function incorrect as to spec, issues with comments
bug
Warden finding
sponsor confirmed
Sponsor agrees this is a problem and intends to fix it (OK to use w/ "disagree with severity")
Handle
cmichel
Vulnerability details
The
TridentNFT.permitAll
function allows the operator (isApprovedForAll[owner][recoveredAddress]
) to change the operator (and lock themself out).The same functionality without permits does not work as
setApprovalForAll
requires theowner
authority.Impact
permitAll
should have the same auth checks assetApprovalForAll
and not allow theoperator
to change the operator.Recommended Mitigation Steps
Remove the
|| isApprovedForAll[owner][recoveredAddress]
from therequire
statement.The text was updated successfully, but these errors were encountered: