The update function in StabilityConfiguration.sol lacks validation for the Chainlink verifier address, allowing a zero-address configuration that would permanently disable price verification.
The update function accepts any address for chainlinkVerifier without validation:
If set to address(0), all calls to verifyOffchainPrice will fail since the verifier proxy is invalid.
Proof of concept:
Admin accidentally calls update(0x0, 3600)
All verifyOffchainPrice calls revert due to:
IVerifierProxy(0x0).verifyReport(...)
Protocol becomes unusable until upgraded
Complete disruption of price verification system
Halting of all trading/liquidation functionality
Requires emergency protocol shutdown to resolve
High risk of protocol insolvency from unverified prices
Manual code review
Address validation pattern analysis
Add zero-address check:
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.