NewDex Hack

Reported loss $58K
EOS
Infinite Mint

What happened

Newdex, an exchange on EOS that billed itself as decentralized, lost about $58,000 of users' funds in September 2018 to a counterfeit-token attack. On September 14, 2018, EOS account oo1122334455 created its own token with the symbol "EOS" and a supply of 1 billion, matching the real EOS supply. Newdex did not check which contract a deposited "EOS" came from, so the attacker used about 11,800 fake EOS to fill real users' sell orders for BLACK, IQ and ADD. The attacker then sold those tokens for genuine EOS, netting about 11,803 EOS by one recap, and sent 4,028 real EOS (about $20,000) to Bitfinex.

Reporting at the time noted that deposits did not pass through a smart contract that could validate tokens. Users sent funds to newdexpocket, a regular account controlled by Newdex, so the exchange worked more like a custodial service than a DEX. Newdex confirmed the attack and apologized. As of September 18-21, it had no concrete plan to reimburse victims.

How it happened

  1. EOS lets anyone deploy a token contract and choose any symbol, including "EOS". The genuine token is only the one issued by the eosio.token contract.
  2. The attacker created a token contract, issued 1 billion tokens named "EOS", and moved them into trading accounts.
  3. Newdex credited deposits by symbol without checking that the issuing contract was eosio.token, so the fake EOS was treated as real.
  4. The attacker placed buy orders for BLACK, IQ and ADD with about 11,800 fake EOS, which real users' sell orders filled.
  5. The attacker sold the acquired tokens for genuine EOS and moved 4,028 EOS to Bitfinex, leaving users holding worthless tokens.

Protocol details

Classification Token & Share Accounting
Protocol Type DEX
Implementation language C++
Protocol links @NewdexOfficial

Security review history

Build your security review skills

Work through hands-on labs covering real exploit mechanics, review techniques, and defensive patterns.