The constructors in ScrvusdVerifierV1
and ScrvusdVerifierV2
do not validate that the input addresses (_block_hash_oracle
and _scrvusd_oracle
) are non-zero. If zero addresses are passed, the contracts will be deployed in an unusable state, requiring redeployment and causing operational disruptions.
The constructors in both verifier contracts accept two addresses (_block_hash_oracle
and _scrvusd_oracle
) but do not validate that these addresses are non-zero.
Contract Bricking: The contract becomes unusable if zero addresses are passed, requiring redeployment.
Operational Disruption: Downtime occurs while the issue is resolved, affecting dependent systems.
Gas Waste: Redeployment incurs additional gas costs.
Add zero-address checks in the constructors:
This ensures the contract cannot be deployed with invalid addresses, preventing bricking and operational disruptions.
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.