code-423n4 / 2022-05-opensea-seaport-findings

1 stars 0 forks source link

Missing inheritance makes fulfillBasicOrder() in Consideration.sol non-functional #78

Closed code423n4 closed 2 years ago

code423n4 commented 2 years ago

Lines of code

https://github.com/code-423n4/2022-05-opensea-seaport/blob/main/contracts/lib/Consideration.sol#L83

Vulnerability details

Impact

fulfillBasicOrder() in Consideration.sol would not function properly since the call in line 83 - _validateAndFulfillBasicOrder() is not possible as there's no existing function for it due to a missing inheritance.

Users will not be able to fulfill any Basic Order with this fulfillBasicOrder function.

Proof of Concept

Consideration.sol should inherit BasicOrderFulfiller.sol which has the internal function _validateAndFulfillBasicOrder() which fulfillBasicOrder() can call.

Tools Used

Manual review

Recommended Mitigation Steps

Apply necessary inheritance or add a working function to the contract.

0age commented 2 years ago

fulfillBasicOrder very clearly can be called 🤔

HardlyDifficult commented 2 years ago

It would be a compile error if required inheritance was indeed missed.