In the current implementation of Swan::list, sellers can list new SwanAssets, but there is no restrictions on who can be a seller. This allows a malicious seller to spam the asset list with dummy assets, potentially filling the buyer's list with low-priced assets that the buyer may be forced to purchase.
Scenario:
Suppose a buyer enters a round with a limit of 10 assets, but currently has no assets listed for purchase.
A malicious seller could then list dummy SwanAssets with prices just below the protocol fee threshold (e.g., a price of 9 if the fee is 10), effectively bypassing fee requirements.
This fills the buyer’s asset list with low-value dummy assets, which could force the buyer to spend on undesired assets.
This vulnerability allows malicious sellers to spam the buyer’s asset list, potentially leading to:
Resource waste within the protocol by flooding the listing mechanism.
High costs for buyers who may be forced to purchase low-value, unwanted assets.
Increased risk of DoS attacks as spamming limits the availability of valid assets for genuine sellers and buyers.
Manual Review
Implement a seller whitelisting mechanism to ensure only approved sellers can list assets, preventing spam listings and preserving the protocol’s integrity. Additionally, include asset validity checks to prevent listings that circumvent protocol fees.
Add whitelisting and validation checks in Swan::list as follows:
The same logic should be applied for the relist function.
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.