CVE Catalog

CVE-2026-44714

High
Published: Translated: NVD NIST

Summary

The bitcoinj library, a Java implementation of the Bitcoin protocol, contains verification bugs in the ScriptExecution.correctlySpends() method prior to version 0.17.1. These bugs allow an attacker to use any keypair to satisfy bitcoinj's local verification for standard P2PKH and P2WPKH spends.

Risk Assessment

The organization may be exposed to attacks where an attacker can use unauthorized keys to perform transactions, potentially leading to financial losses.

Recommendation

It is recommended to update the bitcoinj library to version 0.17.1 or later to mitigate these security vulnerabilities.

Related vulnerabilities

Original NVD description (English source)

The bitcoinj library is a Java implementation of the Bitcoin protocol. Prior to 0.17.1, ScriptExecution.correctlySpends() contains two fast-path verification bugs for standard P2PKH and native P2WPKH spends in core/src/main/java/org/bitcoinj/script/ScriptExecution.java. In both branches, bitcoinj verifies an attacker-controlled signature/public-key pair but fails to verify that the public key is the one committed to by the output being spent. As a result, any attacker keypair can satisfy bitcoinj's local verification for arbitrary P2PKH and P2WPKH outputs. This vulnerability is fixed in 0.17.1.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS