CVE-2026-44714CWE-347

bitcoinj: ScriptExecution P2PKH/P2WPKH Verification Bypass

High · published May 15, 2026

CVSS v3.1
7.5
EPSS
0%
Percentile
27.2
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
CVSS v4.0
Not supplied
EPSS
0.00348 · 27.2th percentile
Weakness
CWE-347 · Improper Verification of Cryptographic Signature
Published
2026-05-15T16:51Z
EPSS history
Timeline
  • 15 MAY 16:51Z
    bitcoinj: ScriptExecution P2PKH/P2WPKH Verification Bypass
    cvelistv5