Junglewise Threat Intelligence

CVE-2026-44714: bitcoinj signature verification bypass in ScriptExecution

CVE-2026-44714 · Severity: high · CVSS 7.5 · Published 2026-05-15

Vendors: Maven.

Executive brief

The bitcoinj library, a popular Java implementation of the Bitcoin protocol, contains a flaw in how it verifies certain types of transactions. An attacker can bypass local security checks to make unauthorized transactions appear valid to the software. This could lead to the acceptance of fraudulent transactions or the theft of funds if the library is used for transaction validation or pre-signing checks.

Technical details

A vulnerability exists in the `ScriptExecution.correctlySpends()` method due to improper verification of cryptographic signatures (CWE-347). Specifically, the 'fast-path' verification for standard P2PKH and native P2WPKH spends fails to verify that the provided public key matches the hash committed to in the `scriptPubKey`. While the code verifies the signature against the provided public key, it does not enforce the `HASH160(pubkey) == hash` requirement. This allows an attacker to use any keypair to satisfy local verification for arbitrary outputs. The issue affects applications using bitcoinj for transaction validation and pre-signing checks, though it does not impact the SPV (Simple Payment Verification) model. The vulnerability is fixed in version 0.17.1.

Affected products

  • bitcoinj bitcoinj-core 0.15.x, 0.16.x, 0.17.0

Timeline

  • 2026-05-04: advisory: GitHub Security Advisory published
  • 2026-05-15: disclosed: CVE published to NVD
  • 2026-05-15: patched: Fix released in version 0.17.1

References