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

[H-2] Predictable Randomness Logic in `ChoosingRam::increaseValuesOfParticipants()`

Description:

The increaseValuesOfParticipants() function in the ChoosingRam contract utilizes a logic to generate random numbers. However, this randomness logic can be predicted by users, allowing an attacker to repeatedly call the function until achieving a desired outcome. This predictability undermines the security and fairness of the function.

Impact:

Predictable randomness enables attackers to manipulate the outcome by repeatedly invoking the function until the desired random number is generated. This compromises the randomness logic, leading to potential exploitation and unfair advantages within the system.

Recommended Mitigation:

To ensure randomness cannot be predicted or manipulated, use a Verifiable Random Function (VRF) service. VRF services provide secure and verifiable random numbers that are resistant to prediction and manipulation attacks. Some recommended services include:

  • Chainlink VRF (Recommended): Provides cryptographically secure randomness.

  • Gelato: Offers automation and randomness services.

  • Pyth: Delivers reliable and tamper-proof random numbers.
    By integrating one of these VRF services, the randomness logic in increaseValuesOfParticipants() will be significantly more secure, preventing the vulnerabilities associated with the current implementation.

Updates

Lead Judging Commences

bube Lead Judge about 1 year ago
Submission Judgement Published
Invalidated
Reason: Too generic
Assigned finding tags:

Weak randomness in `ChoosingRam::increaseValuesOfParticipants`

nourelden Submitter
about 1 year ago
bube Lead Judge
about 1 year ago
nourelden Submitter
about 1 year ago
bube Lead Judge about 1 year ago
Submission Judgement Published
Invalidated
Reason: Too generic
Assigned finding tags:

Weak randomness in `ChoosingRam::increaseValuesOfParticipants`

Support

FAQs

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