DittoETH

Ditto
DeFiFoundryOracle
55,000 USDC
View results
Submission Details
Severity: low
Invalid

[L-3] Sanity Checks for critical parameters

Instances(2)

FILE: 2023-09-ditto/contracts/facets/OwnerFacet.sol
function transferOwnership(address newOwner) external onlyDAO {
// + require(newOwner != address(0), "newOwner address cannot be 0");
s.ownerCandidate = newOwner; // @audit add zero address check
emit Events.NewOwnerCandidate(newOwner);
}

OwnerFacet.sol#L112

FILE: 2023-09-ditto/contracts/facets/OwnerFacet.sol
function transferAdminship(address newAdmin) external onlyAdminOrDAO {
// + require(newAdmin != address(0), "newAdmin address cannot be 0");
s.admin = newAdmin; // @audit add zero address check
emit Events.NewAdmin(newAdmin);
}

OwnerFacet.sol#L125

Impact

In the absence of sanity checks, sensitive/critical parameters can be configured to invalid values (for example; setting a zero address as a new owner candidate which can just be re-assigned to a valid address assuming the DAO/caller figures out the mistake immediately without days past), causing a variety of minor issues.

Tools Used

Manual review/ VsCode

Recommendations

Consider adding zero address checks for these critical changes.

Updates

Lead Judging Commences

0xnevi Lead Judge
almost 2 years ago
0xnevi Lead Judge almost 2 years ago
Submission Judgement Published
Invalidated
Reason: Zero address checks

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.