In the increaseValuesOfParticipants function of the smart contract, there is a vulnerability that allows the same token ID to participate multiple times. This could lead to unfair advantages and potential manipulation of the contract's logic, which is supposed to enhance the characteristics of different participants based on a random process.
The function increaseValuesOfParticipants does not include a mechanism to ensure that each token ID can only participate once. As a result, the same token ID can be used repeatedly to potentially enhance its characteristics or achieve the status of "selectedRam". This flaw undermines the intended fairness of the random enhancement process.
The function currently only checks if the token IDs are valid and if the caller is the owner of the tokenIdOfChallenger. It does not track whether a token ID has already participated, allowing the same token ID to be used multiple times.
Unfair Advantage, Participants can repeatedly use the same token ID to maximize its characteristics unfairly.
Manual code Review
Introduce a mapping to track participation status for each token ID to ensure that each token can only participate once.
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.