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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-347"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/44xxx/CVE-2026-44714.json"
}"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-44714.json"
[
{
"deprecated": false,
"digest": {
"function_hash": "39900161820317487851101723785753550443",
"length": 2306
},
"id": "CVE-2026-44714-1e365d7a",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/bitcoinj/bitcoinj/commit/2bc5653c41d260d840692bc554690d4d79208f9c",
"target": {
"file": "core/src/main/java/org/bitcoinj/script/Script.java",
"function": "correctlySpends"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"303332190704442515315470807804730042049",
"119846702576506761938210708076982603411",
"130956810395504127626924438551933121853",
"213329950010208483980823344633078410702",
"336515279189916998497514628380383174755",
"1673385187995540108633609968041507047",
"182757145045965442588139080808332538844",
"162951168818722277105454470760952314590"
],
"threshold": 0.9
},
"id": "CVE-2026-44714-6bb3d545",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/bitcoinj/bitcoinj/commit/2bc5653c41d260d840692bc554690d4d79208f9c",
"target": {
"file": "core/src/main/java/org/bitcoinj/script/Script.java"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"119846702576506761938210708076982603411",
"130956810395504127626924438551933121853",
"213329950010208483980823344633078410702",
"247901191545007524297031234654057988810",
"59721558655561906074347118632363417448",
"327322951157389704726385154097589030652",
"305840271837182394996343801114040267632",
"284756015475451643753143750574224998386"
],
"threshold": 0.9
},
"id": "CVE-2026-44714-7dcc06b4",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/bitcoinj/bitcoinj/commit/b575a682acf614b9ff95cacbdeb48f86c3ababe0",
"target": {
"file": "core/src/main/java/org/bitcoinj/script/ScriptExecution.java"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "229198277167788263206074202983575082729",
"length": 2515
},
"id": "CVE-2026-44714-81609a78",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/bitcoinj/bitcoinj/commit/b575a682acf614b9ff95cacbdeb48f86c3ababe0",
"target": {
"file": "core/src/main/java/org/bitcoinj/script/ScriptExecution.java",
"function": "correctlySpends"
}
}
]
"2026-08-12T16:24:31Z"