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.