block properties are not a good source of randomness as they are visible to miners before the transaction is approved. block.difficulty can be manipulated by miners. There exists are a weak PRNG issue in the mentioned LOC.
In these LOC, rarity is being computed by using block.difficulty which is a bad source of randomness, An attacker can be a miner who can manipulate the block.difficulty to increase/decrease the rarity.
Miners can choose to not include certain transactions to impact difficulty.
A miner can influence the difficulty of the block and in turn provide the winner with a lower or a higher rarity tokenID. This can disrupt the functionality of the protocol by manipulating the randomness and providing the winner the wrong rarity.
Slither and Manual Review
Use ChainlinkVRF to generate randomness instead of relying on block properties.
Root cause: bad RNG Impact: manipulate winner
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.