When selling Smart Vaults NFTs, which is an intended protocol design decision (see _afterTokenTransfer
function in SmartVaultManager
), malicious users can honeypot buyers by draining the vault before selling it.
Smart Vault NFTs are expected to be sold on secondary NFT markets.
Attack scenario:
Malicious seller lists Smart Vault on NFT market.
Buyer sends a transaction that is expected to buy the vault and transfer it to him.
Malicious seller sees this transaction in the mempool and sends a transaction to the Smart Vault contract to drain it -> mint maximum amount of EUROs.
Buyer now ends up with an almost unusable vault.
Users lose funds they paid for Smart Vaults.
Manual review
Re-think the design decision of selling Smart Vault NFTs
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.