CVE-2025-30147 Details
Description
Besu Native contains scripts and tooling that is used to build and package the native libraries used by the Ethereum client Hyperledger Besu. Besu 24.7.1 through 25.2.2, corresponding to besu-native versions 0.9.0 through 1.2.1, have a potential consensus bug for the precompiles ALTBN128_ADD (0x06), ALTBN128_MUL (0x07), and ALTBN128_PAIRING (0x08). These precompiles were reimplemented in besu-native using gnark-crypto's bn254 implementation, as the former implementation used a library which was no longer maintained and not sufficiently performant. The new gnark implementation was initially added in version 0.9.0 of besu-native but was not utilized by Besu until version 0.9.2 in Besu 24.7.1. The issue is that there are EC points which may be crafted which are in the correct subgroup but are not on the curve and the besu-native gnark implementation was relying on subgroup checks to perform point-on-curve checks as well. The version of gnark-crypto used at the time did not do this check when performing subgroup checks. The result is that it was possible for Besu to give an incorrect result and fall out of consensus when executing one of these precompiles against a specially crafted input point. Additionally, homogenous Besu-only networks can potentially enshrine invalid state which would be incorrect and difficult to process with patched versions of besu which handle these calls correctly. The underlying defect has been patched in besu-native release 1.3.0. The fixed version of Besu is version 25.3.0. As a workaround for versions of Besu with the problem, the native precompile for altbn128 may be disabled in favor of the pure-java implementation. The pure java implementation is significantly slower, but does not have this consensus issue.
A consensus bug has been identified in Hyperledger Besu versions 24.7.1 through 25.2.2, related to the ALTBN128_ADD, ALTBN128_MUL, and ALTBN128_PAIRING precompile functions. This issue arises from the gnark-crypto implementation used in besu-native, which improperly relied on subgroup checks to validate whether elliptic curve points were on the curve. As a result, specially crafted input points could lead to incorrect outcomes, causing nodes to fall out of consensus. This problem could also result in the propagation of invalid state in homogenous Besu-only networks.
Users can upgrade to Hyperledger Besu version 25.3.0 and besu-native version 1.3.0, both of which address this vulnerability. Alternatively, in affected versions of Besu, the native ALTBN128 precompile can be disabled in favor of the pure Java implementation, which, while slower, does not have the same consensus issue.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed May 7, 2025CISA-ADP
Assessed May 7, 2025References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-325 | Missing Cryptographic Step | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| Hyperledger Besu | >= 24.7.1, <= 25.2.2 (semver) |
CPE
Remediation
| |
| Hyperledger Besu-native | All versions |
CPE
Remediation
| |
Change History
3 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 17, 2026 | CVE Modified | [email protected] |
| Jun 17, 2026 | CVE Modified | CISA-ADP |
| May 7, 2025 | New CVE Received | [email protected] |
Volerion