Go to app

Aztec Connect $2.1M Exploit: Technical Analysis

Published 6/15/2026, 3:16:55 PM

Overview

On June 14–15, 2026, an attacker drained approximately $2.1 million from Aztec Connect's deprecated RollupProcessorV3 contract on Ethereum (0xff1f2b4adb9df6fc8eafecdcbf96a2b351680455). The exploit occurred nearly 3 years after the protocol was officially deprecated (March 2023) and over 2 years after admin keys were renounced (March 2024).


Technical Mechanism

The root cause, identified by BlockSec's Phalcon team, was a mismatch between proof verification and settlement logic in the computeRootHashes() function:

ComponentBehavior
Proof VerificationZK circuits verified a larger set of transactions than the settlement layer actually processed
Settlement LogicOn-chain settlement only processed a subset of those verified transactions
numRealTxs MismatchAttacker set numRealTxs to a smaller value than the actual transaction list, placing real deposit transactions in slots outside the settlement window
ResultBalances credited by the rollup were not backed by actual deposited assets on Ethereum

The attack exploited the public rollup processing function that remained callable on the immutable contracts. By structuring transactions so that legitimate deposits fell outside the settlement-processed portion, the attacker created unbacked balances across 7 different assets and withdrew them. CertiK noted that proof data was partially verified, but the parameters used to process token transfers were not fully checked, enabling unauthorized withdrawals.

Additionally, ZK circuit integer arithmetic (finite field operations) created exploitable edge cases around division remainders, where a malicious sequencer could manipulate user_output values through multiple valid decompositions of a single value.


Why the Deprecated Contract Was Vulnerable

FactorDetails
Full ImmutabilityAfter deprecation, contracts became fully immutable—no upgrades, patches, or pause mechanisms
Admin Key RenunciationAztec Labs renounced all admin keys on March 31, 2024; holds zero control over the system
No OperatorNo entity could pause, patch, or intervene once the system was abandoned
Persistent Callable FunctionsCritical functions (public rollup processing) remained publicly callable
Residual Funds~$2.1M sat in the contract for years after deprecation, despite users being given over a year to withdraw
Unmonitored CodeLegacy code sat on Ethereum without active security monitoring

Critical nuance: The vulnerability was not unknown. Independent researcher lucash-dev identified the same flaw and reported it through Aztec's bug bounty program. Aztec paid a $450,000 bounty (their largest ever) and urged users to withdraw from zk.money. However, the contract was not shut down—it remained live and funded—and the exploit occurred anyway nearly 2 years later.


Timeline

DateEvent
2022Aztec Connect launched as a privacy-focused zk-rollup bridge on Ethereum
March 31, 2023Protocol officially deprecated; deposits disabled
March 31, 2024Sequencer fully shut down; admin keys renounced; contracts become fully immutable
April 2024An update to the rollup processor contract was deployed but not externally audited
June 14–15, 2026Exploit executed—~$2.1M drained from RollupProcessorV3

Stolen Assets

AssetAmount
ETH~909 ETH
DAI~270,000 DAI
wstETH~167 wstETH
Other ERC-20sMultiple smaller tokens
Total Value~$2.1M – $2.19M

Attacker Address: 0x0F18D8b44a740272f0be4d08338d2b165b7EdD17 Funding Source: Tornado Cash (used to obscure wallet origins before the exploit)


Key Takeaways

  1. Immutable ≠ Secure: Deprecating a contract without draining residual funds does not eliminate risk—unpatched vulnerabilities persist indefinitely in Ethereum's open execution environment.

  2. Bug Bounty ≠ Exploit Prevention: The vulnerability was known and bounty-paid, yet the exploit still succeeded because the contract was not fully deactivated and residual funds remained.

  3. No Recourse After Renunciation: The Aztec team's decision to renounce admin keys was philosophically sound for a privacy protocol, but it created an irreversible situation when a vulnerability was later exploited.

  4. Current Aztec Network Unaffected: The exploit had zero impact on the current Aztec Network or AZTEC ERC20 token—the legacy RollupProcessorV3 was a separate, abandoned system.


Verification Status

The claims above are drawn from aggregated security analyses by BlockSec, CertiK, and Aztec Labs. However, no direct URLs were provided in the research output to independently verify specific transaction hashes, contract calls, or on-chain data. The timeline dates (especially the April 2024 contract update and March 2024 key renunciation) are noted as not independently confirmed. Readers seeking full verification should cross-reference BlockSec Phalcon alerts, CertiK's incident reports, and Aztec Labs' official blog for direct links to the exploited transactions and the bug bounty disclosure.


Follow-Up Actions

  • Deep dive on-chain: Trace the attacker address (0x0F18D8b44a740272f0be4d08338d2b165b7EdD17) to verify fund flows and identify any subsequent movement patterns.
  • Monitor recovery efforts: Check whether Aztec Labs or law enforcement has frozen any stolen funds through Tornado Cash or other mixers, and whether any assets have been returned.