The buyBackNFT
function in the NFTLiquidator
contract is designed to allow the previous owner of an NFT to repurchase it at a premium of 110% of the associated debt during an active auction. However, due to the absence of access restrictions, any user can invoke this function. This loophole enables malicious actors to acquire the NFT at the buyback price, even when higher bids exist, thereby undermining the auction's integrity.
Function `buyBackNFT:
The function lacks a mechanism to verify that the caller is the previous owner of the NFT. Consequently, any user can call buyBackNFT
and purchase the NFT for 110% of its debt. If the current highest bid exceeds this amount, a malicious actor can exploit this vulnerability to obtain the NFT below its fair market value, effectively bypassing legitimate bidders.
Auction Integrity Compromise: Unauthorized users can circumvent the competitive bidding process, leading to unfair acquisition of NFTs.
manual review
Track the previous owner of the listed NFTs and restrict the access of buyBackNFT()
to be callable only by the previous owner of the NFT.
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.