Describe the normal behavior in one or more sentences
Explain the specific issue or problem in one or more sentences
Likelihood:
Reason 1: This will occur when a user initiates a mint request, and the Chainlink oracle returns a response to the contract, placing the result in a public, observable state variable. At this point, the function fulfillMintRequest(requestId)
becomes callable by anyone.
Reason 2: This will occur when another user monitors the mempool or blockchain events, identifies that a specific requestId
is ready to be fulfilled, and submits a transaction with a higher gas price to call fulfillMintRequest(requestId)
before the original requester. This results in the NFT being minted to the attacker rather than the paying user.
Impact:
Impact 1: A malicious actor can front-run the rightful user’s mint finalization and receive the NFT that the user paid for, leading to a direct asset theft and financial loss for the original requester.
Impact 2: The original requester has no way to recover their funds or NFT, resulting in a broken user experience and potential trust loss in the protocol. This could also expose the system to large-scale exploitation by bots.
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.