s_poolFactory is assigned without validating that poolFactoryAddress is not address(0). If the owner passes a zero address accidentally or otherwise during initialisation, all calls to getPriceInWeth() will revert because IPoolFactory calls on address(0) fail — bricking fee calculation and all flash loans.
Likelihood:
Only triggerable during initialisation; requires an operator mistake or malicious deployment.
If address(0) is passed during initialization, s_poolFactory is set to zero. Every subsequent call to getPriceInWeth() will revert when it tries to call IPoolFactory(address(0)).getPool(token), making fee calculation impossible and bricking all flash loans permanently with no upgrade path.
Add a zero-address guard at the top of the initializer so a misconfigured deployment fails fast rather than silently storing an unusable address.
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by our AI judge. Results will be available in a few minutes.
View all submissionsThe contest is complete and the rewards are being distributed.