Ethereum Client Besu Patched a High-Severity Flaw That Could Have Split Network Consensus
A missing cryptographic validation step in Hyperledger Besu, the Java-based Ethereum execution client originally developed by ConsenSys (formerly PegaSys) and now governed by the Linux Foundation Decentralized Trust project, left nodes running versions 24.7.1 through 25.2.2 vulnerable to a consensus-splitting attack.

A missing cryptographic validation step in Hyperledger Besu, the Java-based Ethereum execution client originally developed by ConsenSys (formerly PegaSys) and now governed by the Linux Foundation Decentralized Trust project, left nodes running versions 24.7.1 through 25.2.2 vulnerable to a consensus-splitting attack. The flaw, catalogued as CVE-2025-30147 and rated 8.7 out of 10 on the CVSS v4.0 severity scale, was patched in March 2025 under coordinated responsible disclosure and publicly disclosed on May 7, 2025, the same day Ethereum's Pectra upgrade went live on mainnet.
The Flaw and What It Enabled
The vulnerability sits inside three precompiled contracts that Ethereum added during its 2017 Byzantium hard fork: ALTBN128_ADD, ALTBN128_MUL, and ALTBN128_PAIRING (precompile addresses 0x06, 0x07, and 0x08). These contracts perform elliptic curve arithmetic on a curve called BN254 (also known as alt_bn128). They exist primarily to make zero-knowledge proof verification affordable on-chain, and they underpin many leading ZK rollups operating today, including Polygon zkEVM, zkSync Era, and Scroll.
When Besu migrated these precompiles to a newer cryptographic library called gnark-crypto, it introduced a sequencing error. Proper validation requires two steps in order: first, confirm that an incoming point actually lies on the BN254 curve; second, confirm the point belongs to the correct cryptographic subgroup within that curve. Besu skipped the first step entirely. The result: an attacker could submit a point that passed the subgroup check but originated from a different, isomorphic curve.
Besu would accept the input and compute a state that no other Ethereum client, including Geth, Nethermind, Reth, and Erigon, would recognize as valid. That kind of disagreement between clients is called a consensus split, and it is one of the most serious failure modes possible in a multi-client blockchain.
Researcher Antonio Sanso, who identified the issue, described the moment plainly in the Ethereum Foundation's disclosure post: "Where is the is_on_curve check? Exactly, there isn't one!!!"
How the Flaw Was Found
The vulnerability was not discovered through a targeted review of the affected precompiles. Sanso and colleagues were working through the Cantina x Ethereum Foundation Pectra security competition, a $2 million program covering 12 client repositories across five execution clients and six consensus clients.
An initial finding on March 15, 2025 concerned a separate precompile being introduced in Pectra for the BLS12-381 curve. That discovery prompted a broader look at Besu's precompile validation logic, and two days later the team confirmed the BN254 flaw. Researcher Marius Van Der Wijden then built a state test that confirmed the divergent behavior across clients.
A fix landed in Besu 25.3.0 and besu-native 1.3.0 shortly after discovery. Operators of besu-native should note that versions 0.9.0 through 1.2.1 fall within the affected range.
The public disclosure was held for roughly 50 days until the Pectra launch, a standard responsible disclosure practice that gave node operators time to upgrade before exploit details became public.
Why Enterprise and Emerging-Market Deployments Should Pay Attention
Besu holds an estimated 16% share of Ethereum mainnet execution layer nodes, trailing Geth at roughly 41% and Nethermind at approximately 38%. These figures are approximate and drawn from Kiln's execution-layer analysis.
On mainnet, that distribution provided a natural safeguard: a transaction crafted to exploit CVE-2025-30147 would have been rejected by the majority of nodes before causing lasting harm. Private and consortium networks running Besu exclusively carry no such protection. Those deployments are disproportionately common in enterprise and government contexts, including central bank digital currency infrastructure. The Hyperledger Besu 2024 Annual Review documents multiple in-flight CBDC projects building on Besu. Citi Bank is listed separately as a Hyperledger Foundation member, a sponsorship and governance role.
Ghana's eCedi pilot and India's e-Rupee, which reached ₹10.16 billion (approximately $122 million USD) in circulation by March 2025, illustrate the scale of institutional Ethereum infrastructure in the Global South, though whether either project runs on Besu specifically has not been independently confirmed.
Teams running private Besu chains should confirm they are on version 25.3.0 or later. Operators who cannot upgrade immediately can apply the documented workaround: disable the native altbn128 precompiles in Besu's configuration and fall back to the slower but unaffected pure-Java implementation. One clarification for regional readers: Nigeria's eNaira runs on Hyperledger Fabric, a separate project not affected by this vulnerability.
The Client Diversity Argument, Made Concrete
CVE-2025-30147 is a tangible case study in why Ethereum's multi-client architecture matters. Mainnet held precisely because no single client controlled enough nodes to define a competing chain state on its own. For regulators and institutions in Africa and South Asia currently evaluating Ethereum-based infrastructure for public services, this incident offers a concrete policy argument: single-client deployments require compensating controls, whether through formal audits, cross-client behavior testing, or explicit upgrade governance procedures. The vulnerability was confirmed within two days of the initial finding, from March 15 to March 17, 2025, and the patched build in Besu 25.3.0 followed shortly after.
The next undiscovered flaw may not be found as cleanly, and institutions building on single-client private chains should plan for that scenario now.