ChainCatcher reported that, according to an analysis by BlockSec Phalcon (@Phalcon_xyz), Aztec Network’s RollupProcessorV3 contract was attacked, resulting in losses of more than $2.15 million. The incident involved seven types of assets and centered on a mismatch between how the proof verification path and the L1 settlement logic interpreted the transaction list.
numRealTxs was not effectively bound to the ZK-enforced transaction set
BlockSec Phalcon stated that the root cause was that numRealTxs was not effectively bound to the transaction set enforced by the ZK proof. Because of this missing binding, the proof verification path and the L1 settlement logic handled the transaction list differently, creating the condition that the attacker exploited.
The attacker used the flaw to move real deposits into slots that were not processed by the settlement logic, thereby bypassing the decreasePendingDepositBalance() function. After that, the attacker created uncollateralized private balances out of thin air and withdrew assets through the normal settlement process, leading to total losses exceeding $2.15 million.

