The contract uses tx.origin
instead of msg.sender
in finalizeMint()
, allowing phishing attacks through proxy contracts.
tx.origin
returns the original EOA that initiated the transaction.
Any dApp or attacker contract can hijack finalization with a proxy mint.
Likelihood:
Users interacting with malicious dApps can have their NFTs minted unknowingly.
Impact:
Phishing + unintended NFT minting
Undermines access control
Called via phishing proxy, contract sees tx.origin
as the victim.
Replace tx.origin
with msg.sender
, and pass explicitly controlled mint recipient:
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.