The ScrvusdVerifierV1
contract's constructor lacks zero address validation for critical oracle addresses (_block_hash_oracle
and _scrvusd_oracle
). Once set, these immutable addresses cannot be changed, and if initialized with zero addresses, would permanently break the contract's core functionality.
The constructor accepts two critical address parameters, assigns them directly to immutable variables, performs no validation on the input addresses and cannot be modified after deployment due to immutability
These addresses are used in core functions:
If deployed with zero addresses, contract becomes permanently unusable and there will be no way to update addresses due to immutability therefore it would require new contract deployment
Manual Review
Add zero address check 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.