Normal- A whitelisted user lists his nft for sell. buyer buys it. only the user which nft was bought can collect his usdc.
Issue - A malicious actor can workaround this by creating a listing for his nft. His nft remains listed and isn't bought but another whitelisted account has his listed NFT bought by a buyer. The malicious actor can call
collectUsdcFromSelling() with his listing id AFTER he has canceled his listing
Likelihood:
High: It can be performed by any whitelisted account who wants to steal funds.
Impact:
Impact- Critical: User which nft has been sold won't be able to claim his USDC since an attacker can withdraw the funds.
Update the struct listing and add validation checks
user can cancel listing, because the indication isActive is set to false and then checked in collectUsdcFromSelling - user can simply cancel listing and steal USDC
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.