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

In `RamNFT.sol` an arbitrary address is used , instead of using `ChoosingRam` address in `setChoosingRamContract` function

Summary

-->> address public choosingRamContract;
-->> function setChoosingRamContract(address _choosingRamContract) public onlyOrganiser {
choosingRamContract = _choosingRamContract;
}

Impact

Any arbitrary address can become the ChoosingRam contract and thus can do malicious things in the contract for their benefit.

Tools Used

Manual Review

Recommendations

In RamNFT.sol do this

+ import {ChoosingRam} from "./ChoosingRam .sol";
- address public choosingRamContract;
+ ChoosingRam public choosingRamContract;
- function setChoosingRamContract(address _choosingRamContract) public onlyOrganiser {
choosingRamContract = _choosingRamContract;
}
+ function setChoosingRamContract(ChoosingRam _choosingRamContract) public onlyOrganiser {
choosingRamContract = _choosingRamContract;
}
Updates

Lead Judging Commences

bube Lead Judge over 1 year ago
Submission Judgement Published
Invalidated
Reason: Incorrect statement

Support

FAQs

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