This report describes a potential Denial-of-Service (DoS) vulnerability.
The vulnerability arises when mintFertilizers calls beanstalkMint to mint ERC1155 NFT if receiver is contract it must implement onERC1155Received
if that contract has no onERC1155Received
the whole transaction will revert causing Dos and prevent other users from getting their fertilizer NFT.
The mintFertilizers function attempts to mint a specific fertilizer (fertilizerId) for multiple users.
However, the code depends on onERC1155Received
callback being implemented by the receiving L2 contract to check ERC1155 implementation
, if the receiver contract doesn't implement onERC1155Received
the transaction will revert.
1- If a receiving contract (L2) does not have the onERC1155Received
callback implemented, the mintFertilizers function will revert due to onERC1155Received
missing.
2- Since mintFertilizers attempts to mint NFT for multiple users, a missing onERC1155Received
callback on L2 contracts leads to a DoS.
3- A user with bad intentions can cause Dos and prevent NFT fertilizer from being minted, to other users.
POC:
A user with bad intentions can cause Dos and prevent NFT fertilizer from being minted, to other users.
There are many ways to handle this issue, after the developers are notified with this issue they will update the code as they see it fits.
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.