Description:
In the current implementation of the _create
internal function, _mint
is used instead of _safeMint
. _safeMint
checks that if the recipient is a contract, the receiver
implements the onERC721Received
hook to acknowledge that the contract is capable of receiving NFT to avoid loss of NFT ownership, however there is no such check in _mint
, result in loss of NFT if the recipient
is not designed to receive NFT.
https://github.com/Cyfrin/2024-10-sablier/blob/8a2eac7a916080f2022527408b004578b21c51d0/src/SablierFlow.sol#L610
Recommended Mitigation:
Would recommend the protocol to use _safeMint
instead of _mint
.
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.