Contracts are missing address validation in their constructors. Every address should be validated and checked to ensure it is different from the zero address (0x0000000000000000000000000000000000000000
).
Every Contract have to ensure that all essential addresses used in the contract are valid and properly initialized. If any critical address is set to the zero address, it can lead to significant issues in contract functionality and security vulnerabilities. This report assesses the constructor parameters of the contract to identify potential risks associated with the use of zero addresses.
The contract under review includes several immutable addresses set through its constructor:
i_token
- The address of the collateral token used in the vault.
i_pool
- The address of the KittyPool.
i_priceFeed
- The address of the price feed for the collateral token.
i_euroPriceFeed
- The address of the price feed for euros.
meowntainer
- The address of the maintainer responsible for Aave operations.
i_aavePool
- The address of the Aave pool where the collateral is supplied.
If any of these addresses are set to the zero address (0x0000000000000000000000000000000000000000
), the contract might not function as intended. Zero addresses are typically used to indicate the absence of a valid address.
Function Failures: Operations or interactions with external contracts might fail if they rely on valid addresses.
Security Risks: Zero addresses could potentially be exploited to bypass critical functionalities, leading to vulnerabilities.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.