The fulfillMintRequest   function uses _mint   instead of _safeMint.
When minting NFTs to an address, the _safeMint function is used to ensure that the recipient is capable of handling ERC721 tokens. This includes checking that a smart contract recipient implements the onERC721Received interface, preventing tokens from being permanently locked.
By using_mint function instead of _safeMint. This bypasses the onERC721Received check, which can lead to tokens being locked in the contract that do not support receiving ERC721 tokens.
Likelihood:
Developers often use contract wallets, multisigs, or custom vaults to receive NFTs, which may not support the ERC721 receiver interface.
The function is publicly accessible or accessible via a permissioned interface, making it easy to call with any target address.
Impact:
Tokens can be permanently locked in a smart contract that cannot handle them
This can result in asset loss, affecting users and potentially the reputation of the project
Use _safeMint instead of _mint to prevent tokens from being permanently locked.
The `fulfillMintRequest` function is external and anyone can call it. If the protocol uses `_safeMint` instead of `_mint`, this introduces a reentrancy risk. It is better to use `_mint` and the caller is responsible for being able to obtain the token.
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.