In a compliant ERC20 token, every call to transfer or transferFrom should succeed or revert on failure. Consumers expect either success (token moved) or revert (state unchanged).
The Token-0x implementation uses low-level Yul or manual code and apparently does not enforce checks on the boolean return values (or lack thereof). If a downstream contract or user interacts assuming standard ERC20 semantics, a transfer might silently fail or appear successful while no actual balance change happens — leading to stuck tokens, lost funds, or unexpected behavior.
Likelihood:
Very high. Because many consumers (DEXes, staking, vaults) assume ERC20 standard behavior, they may call transferFrom / transfer and rely on success — not expecting silent failures. This issue arises whenever the token is used with third-party contracts.
The vulnerability can lead to permanent loss or lock-up of funds, and can affect any user interacting with the token via third-party contracts (DEXes, vaults, staking, bridging etc.) — so the blast radius is large, cost to exploit is low (just calling standard functions), and effect is critical.
Impact:
Funds can be stuck: tokens transferred to contracts may never arrive (balances unchanged), locking user funds.
Contracts may behave incorrectly (e.g. minting shares internally while underlying transfer failed).
Tokens lose interoperability: many tools/DEXes may break or mis-handle the token, leading to user losses.
We create a malicious receiver contract that always returns false on transfer, simulating a non-compliant ERC20 receiver.
Token-0x’s internal transfer logic does not check the returned boolean, so Token-0x falsely assumes success even though the transfer failed — locking funds forever.
Ensure that every external token transfer or transferFrom call checks :
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.
The contest is complete and the rewards are being distributed.