The `listNFT()` performs an external call `transferFrom` before updating the contract state, this violate the CEI(Checks-Effects-Interactions) pattern. This creates a possible reentrancy vulnerability where a malicious NFT could re-enter the function before the listing state is updated.Explain the specific issue or problem in one or more sentences
Likelihood:
This occurs if the msg.sender is a contract
The reentrancy occurs during the NFT transfer's callback, before the listing state is updated, allowing duplicate listings.
Impact:
During NFT transfer, malicious contract can call `listNft()` again
THis can even possibly block NFT from being listed properlyProof of Concept
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.