The settleAuction function is responsible for finalizing a successful auction by transferring the NFT to the winner and the funds to the seller. However, the contract's design critically relies on a manual call to this function. If both the seller and the winning bidder neglect to call this function for any reason, the auction will never be finalized. This results in a permanent freeze of the assets involved.
Likelihood: Low While this scenario doesn't require a malicious attacker, it relies on user inaction or human error.
Impact: High. The consequence is the loss of user assets
The following test demonstrates the vulnerability.
To prevent assets from being permanently frozen, a fallback mechanism should be implemented that allows either the seller or the highest bidder to reclaim their respective assets after a pre-defined grace period.
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.