zkLink Nova bridge escrows drained of about $743k-$783k via forged batch root in Arbitrator relay path
An attacker forged a zkLink Nova batch root on Ethereum through a public relayer and the Arbitrator's claimMessage flaw, draining both Ethereum escrows (about $743k-$783k); a second actor repeated it on Optimism, Base, Blast and Mantle. Withdrawals were disabled and contracts patched.
Vuln-watch · relayed from the DeFiLlama hacks database; see Source & attribution below
Summary
At 22:21:35 UTC on 2026-10-28 (Ethereum block 26294188) a single transaction emptied zkLink Nova's Ethereum escrows (ZkLink ETH escrow and L1ERC20Bridge): 22.43 ETH plus 11 ERC-20 tokens, led by about 245.74 pufETH. The attacker wrote their own Merkle root for batch 116409 into the bridge and withdrew against proofs they built themselves. No key or signature was compromised. About nine hours later a second, unrelated actor reused the still-unpatched flaw against zkLink Nova escrows on Optimism, Base, Blast and Mantle.
Affected
- zkLink Nova Arbitrator (Ethereum) claimMessage(), reached through the public SyncL2TxHashRelayer, and the escrows that trust its batch roots on Ethereum and secondary chains
- zkLink said it suspended Nova block production, emergency-patched the affected contracts and temporarily disabled withdrawals
Impact
Per Parapet Labs, Arbitrator.claimMessage() made a relayer-chosen external call under the Arbitrator's trusted identity and checked an EIP-1153 transient hash (finalizeMessageHash) that was never cleared, so one genuine Linea message claim in a transaction let a later claim forge a syncBatchRoot call. Loss estimates on Ethereum: about $743k (Parapet Labs, exploit-time prices), about $780k (BlockSec Phalcon), about $783.1k (SlowMist). Second wave (2026-10-29 ~07:16 UTC): about 24.76 ETH plus token inventories from Optimism, Base, Blast and Mantle escrows, which Parapet Labs attributes to a different actor. Exploitation in the wild is confirmed.
Recommended actions
- Do not deposit into or bridge through zkLink Nova until the team confirms the fix and resumes withdrawals through official channels
- Integrators and exchanges: flag the attacker addresses below and monitor fund movements
- Bridge builders: clear transient-storage authentication flags after use and never make caller-chosen external calls from a privileged identity
Source & attribution
This 0xCERT advisory summarises the Parapet Labs post-mortem: https://parapetlabs.net/blog/zklink-nova-exploit-post-mortem/, with alerts by BlockSec Phalcon (https://x.com/Phalcon_xyz/status/2115671779717083260) and SlowMist (https://x.com/SlowMist_Team/status/2115635114638250409), zkLink's statement (https://x.com/zkLink_Official/status/2115792847098216545), and an analysis by Panda Security. Details may change; refer to the original source for the authoritative record.
References
- https://parapetlabs.net/blog/zklink-nova-exploit-post-mortem/
- https://x.com/Phalcon_xyz/status/2115671779717083260
- https://x.com/SlowMist_Team/status/2115635114638250409
- https://x.com/zkLink_Official/status/2115731883313254565
- https://x.com/zkLink_Official/status/2115792847098216545
- https://dev.to/pandasecurity/zklink-nova-exploit-a-stale-transient-hash-forged-a-root-oji
- https://etherscan.io/tx/0x4f3c23e75b9134e8cae5a462550daad42fbbc19242567fcc34c0a035e297462c
Indicators of compromise
All IOC feeds →- address0x45312ea0eff7e09c83cbe249fa1d7598c4c8cd4eReceived USDC hop from the attacker EOA — per Parapet Labs · Ethereum
- address0x75dcf3395b6cbefc6b66b28d6d93f193b58dc0f3Fresh EOA that received ~102 ETH consolidated from the attacker — per Parapet Labs · Ethereum
- address0xaca0655a11200a80d33d0e48786317304cde5718zkLink Nova attacker EOA (wave 1) — per Parapet Labs and SlowMist · Ethereum
- address0xd5f162b68a0281686e8dc76db8d67d2f3e6aff07zkLink Nova attack contract (wave 1) — per Parapet Labs · Ethereum
- address0xedac2d8905bf2bf0033872d420c4ec6ef1ddd0c8Wave-2 receiver of all withdrawals on Optimism, Base, Blast, Mantle — per Parapet Labs · Other / Multi-chain
- address0xfc3facd67138966ab0c841e905b0c4bca1abe92fWave-2 copycat sweeper EOA (sent forged-root tx) — per Parapet Labs · Ethereum
- tx0x2b6b46eb55e54a9e3602b708a9dcf9b8bade058025b566f429949a1e4047ec5fWave-2 sweep tx (Base escrow) — per Parapet Labs · Base
- tx0x499cb1f1b03ecbcdd049be905e3ef1b33f54beef592a1a99e6e99150b032a96dWave-2 sweep tx (Optimism escrow) — per Parapet Labs · Optimism
- tx0x4f3c23e75b9134e8cae5a462550daad42fbbc19242567fcc34c0a035e297462czkLink Nova exploit tx (forged root + escrow drain) — per Parapet Labs · Ethereum
- tx0xb54c7aeab4fa5c05013c4c964c8692a4049c84914c7ea1b39aa3897d3da3dc27Wave-2 tx pushing four forged roots — per Parapet Labs · Ethereum
OpenPGP-signed. The signed text of this advisory verifies against the 0xCERT key CCC7 D9EC 9415 723D.
Published 2026-10-28 · last updated 2026-11-01
curl -s https://www.0xcert.com/pgp.asc | gpg --import && curl -s https://www.0xcert.com/advisory/0xCERT-2026-0294/signed.txt | gpg --verify