51218 sc high oracle callback timing vulnerability causes jackpot prize loss
Description
Brief/Intro
Vulnerability Details
function determineReward(uint256 randomness, uint256 streakForReward) internal view returns (string memory, uint256) {
... ...
uint8 weekNumber = uint8(getCurrentWeek()); // Uses current timestamp, not spin initiation time
if (probability < jackpotThreshold) {
return ("Jackpot", jackpotPrizes[weekNumber]); // Returns 0 for weeks > 11
}
... ...
}Impact Details
References
Proof of Concept
Previous52719 sc medium inactive validators blocked from claiming commissions despite passed timelockNext51912 sc high mismatched rounding rules in reward logic library results in two fold loss of earnings
Was this helpful?