Exceeding Maximum Owner Limit in Smart Wallet Initialization #64
Labels
bug
Something isn't working
disagree with severity
Sponsor confirms validity, but disagrees with warden’s risk assessment (sponsor explain in comments)
downgraded by judge
Judge downgraded the risk level of this issue
grade-a
primary issue
Highest quality submission among a set of duplicates
Q-20
QA (Quality Assurance)
Assets are not at risk. State handling, function incorrect as to spec, issues with clarity, syntax
sponsor confirmed
Sponsor agrees this is a problem and intends to fix it (OK to use w/ "disagree with severity")
sufficient quality report
This report is of sufficient quality
Lines of code
https://github.com/code-423n4/2024-03-coinbase/blob/e0573369b865d47fed778de00a7b6df65ab1744e/src/SmartWallet/MultiOwnable.sol#L162-L174
Vulnerability details
Summary
According to Coinbase Docs:
However, the
_initializeOwners()
function lack this check for the maximum number of owners allowed by the smart wallet, which is stated to be256 concurrent owners
.Proof of Concept
The function iterates over the
owners
array and adds eachowner
without verifying if thetotal number of owners exceeds this limit
.Impact
This could potentially allow
more than 256 owners to be added
, which contradicts the stated contract documentation and could lead to unexpected behavior or security issues.Tools Used
Manual Review
Recommended Mitigation Steps
Add a check at the beginning of the function to ensure that the number of
owners
being added does not exceed themaximum limit
.Assessed type
Other
The text was updated successfully, but these errors were encountered: