The protocol expects users to mint RamNFT by calling Dussehra::enterPeopleWhoLikeRam
and paying the entranceFee
but anyone can mint RamNFT for free by calling the RamNFT::mintRamNFT
function
The function RamNFT::mintRamNFT
can be called by anyone to mint RamNFT for free
Anyone Can Mint RamNFT for free without Paying the entranceFee
Breaks the one RamNFT per address invariant i.e a user can mint two NFTs and become selectedRam
by passing his tokenId's as args without worrying about randomness
A Malicious user can become selectedRam
for Free and steal rewards
Manual Review
Foundry
The RamNFT::mintRamNFT
function should only be called by the Dussehra
contract which will mitigate the issue
make the following changes in RamNFT.sol
Declare a new Error error RamNFT__NotDussehraContract();
Declare a new State Variable address public dussehraContract;
Add a new Function
Add a new Modifier
In the RamNFT::mintRamNFT
function
Note: Add this line to Dussehra.t.sol
's setup
for tests to work
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.