Closed code423n4 closed 1 year ago
minhquanym marked the issue as primary issue
Grouping all issues related to interface ID mismatch
CJ42 marked the issue as sponsor disputed
the bytes4 interface id is correct according to the specs.
trust1995 marked the issue as unsatisfactory: Insufficient proof
trust1995 marked issue #122 as primary and marked this issue as a duplicate of 122
Lines of code
https://github.com/code-423n4/2023-06-lukso/blob/9dbc96410b3052fc0fd9d423249d1fa42958cae8/contracts/LSP14Ownable2Step/LSP14Constants.sol#L4
Vulnerability details
Impact
Contracts that use
type(ILSP14Ownable2Step).interfaceId
, such as when implementingIERC165.supportsInterface()
, will use a value different from the current standard.Proof of Concept
The interface ID of LSP14 is stated to be
0x94be5999
. However, the interface ID ofILSP14Ownable2Step
is0x191b92c2
. This is becauseILSP14Ownable2Step
does not contain the functionowner()
.Tools Used
Manual
Recommended Mitigation Steps
As other standards, such as LSP0 and LSP9, assume the interface ID of LSP14 is
0x94be5999
, it is recommended to add the functionowner()
toILSP14Ownable2Step
.Assessed type
Context