The fulfillMintRequest() function has no access control, allowing anyone to call it after a Functions request has been fulfilled. This could lead to front-running attacks where attackers detect fulfilled requests and claim the NFTs before the legitimate requester.
Related code:
Likelihood:
Medium likelihood.
Impact:
High impact.
Implement proper access control by either:
Making the function callable only by the original requester, or
Implementing a mechanism where only the contract owner or a designated oracle can call this function:
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.