ChainCatcher reported that, according to an analysis by BlockSec Phalcon (@Phalcon_xyz), Aztec Network’s RollupProcessorV3 contract was attacked, with losses exceeding $2.15 million. The incident centered on an inconsistency in how the contract interpreted the transaction list, and the attacker used that gap to withdraw assets. A total of seven assets were involved.
numRealTxs Was Not Effectively Bound to the ZK-Enforced Transaction Set
BlockSec Phalcon said the root cause was that numRealTxs was not effectively bound to the transaction set enforced by the ZK proof. As a result, the proof verification path and the L1 settlement logic interpreted the transaction list differently, creating the condition that the attacker exploited.
In the described attack flow, the attacker moved real deposits into slots that were not processed by the settlement logic, thereby bypassing the decreasePendingDepositBalance() function. The attacker then created unsecured private balances out of thin air and withdrew them through the normal settlement process, leading to losses of more than $2.15 million.

