The ZENO contract’s constructor lacks validation for critical parameters like the USDC address and maturity date, risking deployment with invalid values. This high-likelihood, high-impact flaw could prevent all redemptions, locking user funds permanently if the contract is misconfigured (e.g., with a zero USDC address).
##Vulnerability Details
The constructor accepts _usdc and _maturityDate without checks. For example:
The contract is deployed with _usdc as the zero address.
Users mint 100,000 ZENO tokens backed by USDC deposits.
At maturity, all redemption attempts fail due to the invalid USDC address.
Alternatively, a past _maturityDate could block functionality from the start, rendering the contract useless.
The impact is catastrophic: all user funds could be locked indefinitely due to a single deployment error. With a high likelihood of human error during deployment, this vulnerability threatens the entire system, leading to total capital loss and irreparable damage to trust.
Testing Frameworks: Foundry to test deployment with invalid parameters.
Implement robust validation in the constructor:
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.