zkLink Nova bridge drained of roughly $740k to $790k after an attacker wrote its own withdrawal root through a public relayer; a copycat hit four more chains before zkLink paused the network
zkLink confirmed on Oct 29 an "ongoing exploit" of the zkLink Nova Arbitrator contract on Ethereum and Optimism, then said it had suspended block production, emergency-patched the affected contracts and temporarily disabled withdrawals. The first drain was a single Ethereum transaction on Oct 28 at 22:21 UTC that took 22.43 ETH and 11 ERC-20 tokens (mostly pufETH) from the L1 escrow and token bridge. SlowMist puts the loss at about $783,100; Parapet Labs, pricing at block time, says about $743k.
- Root cause (SlowMist, Parapet): the whitelisted
SyncL2TxHashRelayerwas callable by anyone, andArbitrator.claimMessagekept a validated message hash in EIP-1153 transient storage without clearing it. After relaying one genuine Linea message in the same transaction, the attacker could make forged calls pass, soZkLink.syncBatchRootaccepted an attacker-chosen root under the trusted gateway identity. Withdrawals were then finalized with self-made Merkle proofs. No key theft or flash loan was involved. - Second wave (Parapet): at 07:16 UTC on Oct 29, about five hours after Blockaid flagged the attack publicly, a different address reused the unpatched flaw against the Optimism, Base, Blast and Mantle escrows (about 24.76 ETH plus tokens).
Take: transient storage (EIP-1153) lasts for the whole transaction, not one call. Any check that sets a transient "this message is valid" flag must consume it immediately, or one real message unlocks every forged one that follows. Users should not bridge to or from Nova until zkLink says withdrawals are safe, and should ignore "refund" links.
Sources: zkLink on X: ongoing exploit targeting zkLink Nova's Arbitrator contract on Ethereum and Optimism (Oct 29, 09:06 UTC) · zkLink on X: emergency measures, block production suspended, contracts patched, withdrawals disabled (Oct 29, 13:08 UTC) · SlowMist Hacked: zkLink Nova (root cause and loss) · Parapet Labs: zkLink Nova exploit post-mortem (Oct 29)