Skip to content
Heist/ feed
Back to feed
High

Security advisory

Type: advisorySources: OSVCVE: CVE-2024-34478

btcd before 0.24.0 does not correctly implement the consensus rules outlined in BIP 68 and BIP 112, making it susceptible to consensus failures. Specifically, it uses the transaction version as a signed integer when it is supposed to be treated as unsigned. There can be a chain split and loss of funds.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2024-34478
Confirmed fixed CVEs
Not specified
Updated in this feed
8 Nov 2026, 02:10 UTC · Revision 1

Source evidence

CVE-2024-34478

core-osv · Original source

Published 5 May 2024, 00:00 UTC

btcd before 0.24.0 does not correctly implement the consensus rules outlined in BIP 68 and BIP 112, making it susceptible to consensus failures. Specifically, it uses the transaction version as a signed integer when it is supposed to be treated as unsigned. There can be a chain split and loss of funds.

osv:CVE-2024-34478
Complete source record
{
  "id": "69a83e4df9992644535c473faa4f1ed894d38b9b9cd287a17f79bbb1aca619c1",
  "url": "https://osv.dev/vulnerability/CVE-2024-34478",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "CVE-2024-34478",
    "summary": "btcd before 0.24.0 does not correctly implement the consensus rules outlined in BIP 68 and BIP 112, making it susceptible to consensus failures. Specifically, it uses the transaction version as a signed integer when it is supposed to be treated as unsigned. There can be a chain split and loss of funds.",
    "evidence": "osv:CVE-2024-34478",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2024-34478",
      "aliases": [
        "CVE-2024-34478",
        "GHSA-3jgf-r68h-xfqm",
        "GO-2024-2818"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/btcsuite/btcd",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "b1b94202082b8e22160df31349992f37fb360f75"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.24.0"
                      }
                    ],
                    "source": "DESCRIPTION"
                  },
                  {
                    "cpe": "cpe:2.3:a:btcd_project:btcd:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.24.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "btcutil/v1.1.5",
            "btcutil/psbt/v1.1.9",
            "btcutil/v1.1.4",
            "chaincfg/chainhash/v1.1.0",
            "btcutil/psbt/v1.1.8",
            "btcutil/psbt/v1.1.7",
            "chaincfg/chainhash/v1.0.2",
            "btcutil/v1.1.3",
            "btcec/v2.3.2",
            "btcutil/v1.1.2",
            "btcutil/psbt/v1.1.5",
            "btcec/v2.2.1",
            "v0.23.4",
            "btcec/v2.3.1",
            "btcutil/psbt/v1.1.6",
            "v0.23.3",
            "btcec/v2.3.0",
            "v0.23.2",
            "v0.23.1",
            "v0.23.0",
            "btcutil/psbt/v1.1.4",
            "btcec/v2.2.0",
            "btcutil/psbt/v1.1.3",
            "v0.22.0-beta",
            "btcutil/psbt/v1.1.2",
            "chaincfg/chainhash/v1.0.1",
            "btcec/v2.1.3",
            "btcutil/v1.1.1",
            "btcutil/psbt/v1.1.1",
            "btcec/v2.1.2",
            "btcutil/v1.1.0",
            "btcutil/psbt/v1.1.0",
            "btcec/v2.1.0",
            "btcec/v2.0.0",
            "btcutil/v1.0.0",
            "btcutil/psbt/v1.0.0",
            "v0.21.0-beta",
            "v0.20.1-beta",
            "v0.20.0-beta",
            "BTCD_0_12_0_BETA",
            "BTCD_0_11_1_BETA",
            "BTCD_0_11_0_BETA",
            "BTCD_0_10_0_BETA",
            "BTCD_0_9_0_BETA",
            "BTCD_0_8_0_BETA",
            "BTCD_0_7_0_ALPHA",
            "BTCD_0_6_0_ALPHA",
            "BTCD_0_5_0_ALPHA",
            "BTCD_0_4_0_ALPHA",
            "BTCD_0_3_3_ALPHA",
            "BTCD_0_3_2_ALPHA",
            "BTCD_0_3_1_ALPHA",
            "BTCD_0_3_0_ALPHA"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-34478.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:52.848096174Z",
      "provider": "osv",
      "references": [
        "https://delvingbitcoin.org/t/disclosure-btcd-consensus-bugs-due-to-usage-of-signed-transaction-version/455",
        "https://github.com/btcsuite/btcd/blob/e4c88c3a3ecb1813529bf3dddc7a865bd418a6b8/blockchain/chain.go#L383C1-L392C3",
        "https://github.com/btcsuite/btcd/blob/e4c88c3a3ecb1813529bf3dddc7a865bd418a6b8/txscript/opcode.go#L1172C1-L1178C3",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/34xxx/CVE-2024-34478.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2024-34478"
      ],
      "provider_metadata": {
        "cna_assigner": "mitre",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/34xxx/CVE-2024-34478.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2024-34478",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 521656,
  "published_at": "2024-05-05T00:00:00+00:00"
}