The KittyBridge::bridgeNftWithData
function allows anyone to bridge NFT data to another chain without proper access control.
The KittyBridge::bridgeNftWithData
function is marked as external, meaning it can be called by any account. However, it bridges sensitive NFT data to another chain. There is no access control check in this function to restrict calling it only to the NFT owner.
This allows any account to extract sensitive NFT metadata like owner address, name, breed etc. and bridge it to another chain. This can lead to theft of NFTs or metadata.
Manual review
Add a require check in KittyBridge::bridgeNftWithData
to ensure only NFT owner can call it, in this case we add onlyKittyConnect
modifier
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.