Beginner FriendlyFoundryNFT
100 EXP
View results
Submission Details
Severity: high
Valid

Winner and puppet rarity can be manipulated by a malicious miner

Summary

Winner and puppet rarity can be choosen by a malicious miner by manipulating the source of randomness used.

Vulnerability Details

Don't rely on block variables for randomness. A has access to those information and can manipulate those variables to choose the winner and the puppet rarity. See for example this articles:

  • https://neptunemutual.com/blog/understanding-block-timestamp-manipulation/

  • https://www.slowmist.com/articles/solidity-security/Common-Vulnerabilities-in-Solidity-Randomness.html

Impact

A malicious miner can win all the times and in addition choose an rare puppy.

Tools Used

Manual review

Recommendations

Generate randomness through the use of an oracle. See this article:

  • https://neptunemutual.com/blog/understanding-block-timestamp-manipulation/#prevention.

Updates

Lead Judging Commences

Hamiltonite Lead Judge about 2 years ago
Submission Judgement Published
Validated
Assigned finding tags:

weak-randomness

Root cause: bad RNG Impact: manipulate winner

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.

Give us feedback!