The ERC20ToGenerateNftFraccion contract exposes a mint(address _to, uint256 _amount) function that is declared as public without any onlyOwner or other access-control modifier. Consequently, any external party can call mint() at will, creating an unlimited supply of ERC20 tokens pegged to an NFT fraction.
Inflation of Fractional Supply: An attacker can mint themselves an arbitrary number of fractional tokens without owning the corresponding NFT.
Loss of Peg: Because anyone can inflate the supply, the token no longer accurately represents fractions of an NFT.
Market Manipulation: Attackers could “dump” large amounts of minted fractions into the marketplace, confusing buyers and devaluing legitimate tokens.
Malicious user calls ERC20ToGenerateNftFraccion.mint(MY_ADDRESS, 1_000_000e18).
The contract mints the tokens to the attacker’s address, allowing them to circumvent the entire fractioning logic in TokenDivider.
Restrict access to mint().
Where onlyMinter could be implemented using an Ownable pattern or by storing a trusted minter address (i.e., the main TokenDivider contract).
Any person can mint the ERC20 token generated in representation of the NFT
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.