UpdateWeightRunner uses the same oracleStalenessThreshold to fetch prices for all tokens. This could lead to DoS issues because not all oracles are designed to operate with the same threshold. Interestingly, there is a mapping in the storage that is never used:
It’s important to note that the threshold should be assigned per oracle and for each asset individually. Having a shared threshold for all oracles is problematic, as different oracles for the same asset may have varying heartbeats.
Frequent DoS events
Prices that should be invalid may not trigger a revert, leading to incorrect values being used.
Manual Review
Carefully assign a specific threshold for each oracle being used.
This is by design, staleness is a strategy aspect: it requires all data to have been updated within n minutes. No more precision needed.
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.