Scroll This event, from the very beginning, was a race against time surrounding the Ethereum mainnet contract. As a Layer 2 network deployed on Ethereum, Scroll's batch proof verification contract is directly responsible for "writing" the L2 state root and withdrawal root into the mainnet's security boundary. On November 3, 2025, the team received a report through the bug bounty program: this report pointed out that under the current design, old "valid proofs" could be used to endorse new public or open inputs, theoretically opening the door to ultimately confirming arbitrary state roots and withdrawal roots, putting user asset security at risk. Scroll subsequently chose to publicly disclose the vulnerability and handling plan in the governance forum rather than completely digesting it internally, and simultaneously initiated an emergency upgrade process aimed at the Ethereum mainnet, compressing the time window to within seven days. By November 10, Scroll completed the mainnet upgrade, registering the repaired proof verification contract for Batch version 10, blocking the path for old proof reuse; the official conclusion after checking the relevant contracts and states was that before the fix, no evidence was found that this vulnerability had been exploited on the mainnet. This risk, which could have shaken the state root and withdrawal root, ultimately remained at the "theoretically possible" level, yet clearly laid bare how fragile the core contracts relied upon by Layer 2 are, as well as whether the project team would respond quickly and transparently under pressure, placing these crucial issues before the entire ecosystem.
Proof Contract Vulnerability Directly Targets State Root
To understand the weight of this event, one must return to the proof verification contract of Scroll itself. As an Ethereum Layer 2 network, Scroll packages a large number of L2 transactions into batches and submits the fact "this batch is valid" to the Ethereum mainnet through zero-knowledge proofs and other forms. The proof verification contract deployed on the mainnet serves as the referee for the entire process: it receives the proofs and corresponding public inputs, determines whether a certain L2 batch is considered valid, and once validated, opens the gates for recording this batch's L2 state root and withdrawal root on the mainnet. In other words, this contract is a critical checkpoint for Scroll when returning from the second layer world to the first layer settlement, responsible for solidifying the L2 final state and withdrawable balance into results recognized by the Ethereum mainnet.
The disclosed vulnerability happened precisely at this checkpoint's "input and proof binding" stage. By design, a proof corresponding to a certain batch can only be used for that specific group of public inputs, and once the batch content or state changes, a new proof must be regenerated. The core risk of the vulnerability lies in: old valid proofs could be used for new public or open inputs. This decoupling means that as long as a combination allowed by the contract can be found, a proof historically recognized by the mainnet could theoretically be disguised as a "universal pass," stamping approval for a set of state roots and withdrawal roots that should not pass. Scroll's official statement pointed out that this vulnerability could theoretically be used to ultimately confirm any state root and withdrawal root, directly touching the root of L2 asset security—once maliciously exploited, the balance users see on the second layer might no longer align with the balance recorded on the mainnet, and the credibility of the withdrawal root would be undermined. Although checks confirmed that this risk was not actually triggered on the Ethereum mainnet, it exposed that once the proof verification contract is compromised, there is a possibility that the two safety anchor points of state root and withdrawal root could be rewritten.
Scroll Turns Bounty into Governance Public Crisis
What truly brought this crisis to light was a seemingly routine bounty submission. On November 3, 2025, Scroll received a report through its bug bounty program indicating a security flaw in the proof verification contract deployed on the Ethereum mainnet; the key point identified in the report was that old valid proofs could surprisingly be "migrated" onto new public inputs. Such bounty programs are originally intended to encourage white hats to discover issues before they are maliciously exploited, and this time, Scroll's core security component was thrust into the spotlight along this responsibly disclosed path. Public materials did not disclose the submitter's identity or the bounty amount; the only aspect repeatedly emphasized was that this was a high-risk technical vulnerability that could theoretically impact the state root and withdrawal root.
What's more noteworthy is Scroll's subsequent choice: the team did not lock the entire event in an internal ticketing system, but instead quickly disclosed the existence of the vulnerability, potential risks, and handling plan in the governance forum, while clearly stating that according to the current investigation, this flaw had not yet been actually exploited on the Ethereum mainnet. Receiving a report through the bounty channel and then openly acknowledging the issue at the governance level, Scroll turned a technically fixable crisis into a transparent event directed at the community, allowing all users and developers dependent on this L2 to understand risks and observe responses on the same information panel. This process of moving from bounty to governance disclosure not only fully implemented the principle of responsible disclosure but also sent a signal in the on-chain security culture: when foundational components like the proof verification contract reveal structural hazards, what truly upholds trust is not glossing over the problems but ensuring that the repair paths, timelines, and risk boundaries remain visible to the community.
Upgrade to Replace Batch v10 Verifier Within Seven Days
From receiving the bounty report on November 3 to completing the emergency upgrade of the batch proof verification contract on the Ethereum mainnet by November 10, Scroll compressed this race against time to about seven days. Following the public disclosure in the governance forum, the technical team registered the repaired proof verification contract or verifier for Batch version 10 on the mainnet, with one clear goal: to allow the new verification logic to "take over" the subsequent batch's final confirmation path as quickly as possible without disrupting the existing network's operation pace.
The specific significance of this step is to cut off the theoretical risks described in the vulnerability at the on-chain execution level—the new verifier should block the possibility of old proofs being reused under new public or open inputs, thereby protecting the final confirmation of subsequent state roots and withdrawal roots from being "hijacked." On one hand, Scroll emphasized in the event's handling that checks found no evidence of this vulnerability being actually exploited on the mainnet; on the other hand, it chose to complete the version replacement within seven days rather than delaying until the regular upgrade cycle, which itself balanced risk control and continuous operation: not abruptly halting the entire L2, but swiftly replacing the Batch v10 verifier to seal off the suspicious path before future block heights. While the public materials did not fully explain the role of permissioned provers or the details of "7 days not ultimately confirmed," this choice to respond to uncertainty with a verifiable mainnet upgrade action ultimately compressed the potential systemic threat into a manageable contract version switch.
L2 Security Alarm: How Fragile Proof Verification Is
Shifting the perspective back to a larger landscape, what Scroll exposed this time is not a bug in a user contract, but an issue with the proof verification contract itself, which is deployed on the Ethereum mainnet and "stamps" the entire Layer 2 network's batches. For all Ethereum Layer 2s, including Scroll, such contracts are responsible for the final confirmation of L2 state roots and withdrawal roots; they function more like a security alarm rather than a typical business module: once the verification logic is bypassed, the risk is no longer limited to a single transaction, but could potentially rewrite "what actually occurred on-chain" at the systemic level. Scroll's official statements are also very direct—old valid proofs could theoretically be applied to new public or open inputs, potentially to ultimately confirm any state root and withdrawal root, which essentially opens a backdoor at the mainnet contract layer that should not exist.
However, "theoretically possible" does not equate to "someone has already used this backdoor." According to Scroll's verification conclusions, this vulnerability was not actually exploited on the Ethereum mainnet, nor were there any abnormal state roots or withdrawal roots confirmed to the mainnet; this distinction needs to be made clear from the risk description. What truly deserves attention is that it exposed the long-standing fragility of the proof verification contract in the entire ecosystem: we have become accustomed to viewing this layer of logic on the mainnet as an unquestionable security cornerstone, until someone pointed out through a bug bounty program that, outside formal proofs, the code may still allow mismatches of old proofs with new inputs. Public materials have briefly mentioned the role of permissioned provers and conditions like "7 days not ultimately confirmed," but these technical details are currently incomplete and insufficient to reconstruct a definitive attack path. In the phase where information is still lacking, a more prudent approach is to acknowledge the systemic importance and potential fragility of such contracts while clearly distinguishing between theoretical risks and actual events, allowing vigilance regarding L2 security to be based on verifiable mainnet states and public repair actions.
This Resolved Crisis Sounds the Alarm for L2
Looking back on the entire timeline, after receiving the bug bounty report on November 3, Scroll completed the closed-loop handling from vulnerability verification to governance forum detail disclosure, and to the emergency upgrade of the mainnet by November 10, registering the repaired proof verification contract or verifier for Batch version 10, concluding a theoretical mainnet-level security incident that could have affected the state root and withdrawal root, all under the premise of the official confirmation that the vulnerability had not been actually exploited. The bug bounty allowed the issue to be exposed early, the governance disclosure placed risk assessments and action plans under the community's visibility, and the emergency upgrade closed the technical gate on the critical proof verification contract "last line of defense," all three working together formed a positive demonstration of responsible disclosure and rapid response. Although the crisis has been resolved, it has sounded a long-standing alarm for the proof verification contracts of the entire Ethereum Layer 2: what remains to be seen is whether other L2s will enhance the audit depth of such contracts, design more incentive and binding bug bounty mechanisms, and leave sufficient verifiable records in public governance and emergency plans, allowing the so-called "last line of defense" to truly withstand the test of the next sudden risk on the mainnet.
Join our community, let’s discuss and become stronger together!
AiCoin Exclusive Hyperliquid Benefits: https://app.hyperliquid.xyz/join/AICOIN88
AiCoin Exclusive Aster Benefits: https://www.asterdex.com/zh-CN/referral/9C50e2
On-chain Telegram community: https://t.me/AiCoinWhaleData
On-chain community: https://www.aicoin.com/link/chat?cid=N6OVMor5g
AiCoin On-chain Twitter: https://x.com/aicoinwhaledata
免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到[email protected],本平台相关工作人员将会进行核查。

