Description: The MartenitsaMarketplace
contract provides a marketplace where users can buy and sell martenitsa tokens, with additional functionality for making presents, collecting rewards and managing listings. All users can participate in buying and collecting rewards, but only producers can list their tokens for sale and then sell them. however, the MartenitsaToken
contract allows the malicious user to call the MartenitsaToken::updateCountMartenitsaTokensOwner
without any restrictions because of this malicious attackers or users collect unlimited healthToken from the MartenitsaMarketplace::collectReward
contract.
Impact: Malicious users collect unlimited healthToken.
Proof Of Concept: Paste this test
to your test folder and run the test.
Recommendation: The MartenitsaToken::updateCountMartenitsaTokensOwner
function is an external function that's why users update the count of martenitsa tokens owned by a specific address without any restrictions so make sure it should be internal instead of an external function.
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.