Any user (not just the original requester) can call fulfillMintRequest
with a valid requestId
and mint the NFT, even if they did not initiate the original request. This allows malicious actors to "steal" NFTs that should belong to the original requester.
This will occur whenever a malicious user or automated bots monitor the blockchain for WeatherNFTMintRequestSent
events and calls fulfillMintRequest
with the observed requestId
before the original requester does.
Malicious users can mint NFTs they did not pay/request for.
This test should pass since revert is expected when another user is trying to fulfill request, but it is failing
Restrict fulfillMintRequest
so that only the original requester can call it:
There is no check to ensure that the caller of the `fulfillMintRequest` function is actually the owner of the `requestId`. This allows a malicious user to receive a NFT that is payed from someone else.
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.