{"answers":{"affected":"","exploited":"There is no known exploitation of CVE-2025-30147 in the wild and no public exploit code.","fix":"No fix has been published for CVE-2025-30147 yet. Limit exposure of the affected software until one is available.","what":"CVE-2025-30147 is a high-severity vulnerability in hyperledger besu-native, published on 7 May 2025. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2025-30147 and fix it if it is affected.\n\nWhat it is: CVE-2025-30147 is a high-severity vulnerability in hyperledger besu-native, published on 7 May 2025. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2025-30147 in the wild and no public exploit code.\n\nAffected product: hyperledger besu-native. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2025-30147/ (Markdown: https://insights.sbomify.com/CVE-2025-30147/index.md)","id":"CVE-2025-30147","markdown":"https://insights.sbomify.com/CVE-2025-30147/index.md","name":"CVE-2025-30147","record":{"aliases":["GHSA-jcp8-gh74-97hq"],"analysis":{"component_type":"server_software","fix_type":"upgrade","impacts":["denial_of_service","data_modify"],"network_reachable":"yes","non_default_config":false,"product_category":"Ethereum client library","requires_auth":"none","summary":"Crafted inputs cause consensus failures and invalid state in Hyperledger Besu due to missing point-on-curve checks in native precompiles.","user_interaction":"not_required","vuln_class":"other"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[],"cvss":{"score":8.7,"severity":"high","source":"cna","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N","version":"4.0"},"cwes":[{"id":"CWE-325","name":"Missing Cryptographic Step"}],"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.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":false,"headline":"ALTBN128_ADD, ALTBN128_MUL, ALTBN128_PAIRING precompile functions do not check if points are on curve","id":"CVE-2025-30147","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"other","year":"2025"},"n_packages":0,"n_references":2,"next":{"headline":"Silverstripe Framework has a XSS vulnerability in HTML editor","id":"CVE-2025-30148"},"packages":[],"prev":{"headline":"GeoServer has an Infinite Loop Vulnerability in Jiffle process","id":"CVE-2025-30145"},"products":["besu-native"],"published":"2025-05-07","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"yes","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2025-05-07","vendors":["hyperledger"]},"summary":"Crafted inputs cause consensus failures and invalid state in Hyperledger Besu due to missing point-on-curve checks in native precompiles.","url":"https://insights.sbomify.com/CVE-2025-30147/"}