{"id":"CVE-2024-34478","aliases":["EUVD-2024-1391","GHSA-3jgf-r68h-xfqm","GO-2024-2818"],"status":"published","title":"btcd susceptible to consensus failures","description":"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.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high","assessor":"adp","from":"cve"},"epss":{"day":"2026-11-12","score":0.00558,"percentile":0.46998,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-436"],"published":"2024-05-05T00:00:00Z","modified":"2026-10-28T02:30:52Z","fixes":[{"ecosystem":"Go","package":"github.com/btcsuite/btcd","fixed_in":["0.24.0"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Go","package":"github.com/btcsuite/btcd","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.24.0"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/btcsuite/btcd","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.24.0"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/btcsuite/btcd","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.24.0"}]}]}],"products":[{"vendor":"btcd","product":"btcd"},{"vendor":"btcd_project","product":"btcd"}],"references":[{"url":"https://delvingbitcoin.org/t/disclosure-btcd-consensus-bugs-due-to-usage-of-signed-transaction-version/455","tags":["x_transferred","Issue Tracking","web"]},{"url":"https://github.com/btcsuite/btcd/blob/e4c88c3a3ecb1813529bf3dddc7a865bd418a6b8/blockchain/chain.go#L383C1-L392C3","tags":["x_transferred","Product","web"]},{"url":"https://github.com/btcsuite/btcd/blob/e4c88c3a3ecb1813529bf3dddc7a865bd418a6b8/txscript/opcode.go#L1172C1-L1178C3","tags":["x_transferred","Product","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-34478","tags":["advisory"]},{"url":"https://github.com/btcsuite/btcd/pull/1981","tags":["web","fix"]},{"url":"https://github.com/btcsuite/btcd/commit/253b688c68b89eca7eb75d4d5443dbdbc928db3c","tags":["web"]},{"url":"https://pkg.go.dev/vuln/GO-2024-2818","tags":["web"]},{"url":"https://github.com/advisories/GHSA-3jgf-r68h-xfqm"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/34xxx/CVE-2024-34478.json","tags":["advisory"]},{"url":"https://github.com/btcsuite/btcd","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2024-34478","description":"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.","status":"published","published":"2024-05-05T00:00:00Z","modified":"2024-08-07T15:03:11.041Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high","assessor":"adp"}],"cwes":["CWE-436"],"updated_at":"2026-11-02T14:34:23.193864Z"}],"euvd":[{"id":"EUVD-2024-1391","description":"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.","status":"published","published":"2024-05-05T00:00:00Z","modified":"2024-08-07T15:03:11Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"}],"updated_at":"2026-11-03T01:16:20.592518Z"}],"ghsa":[{"id":"GHSA-3jgf-r68h-xfqm","title":"btcd susceptible to consensus failures","description":"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.","status":"published","published":"2024-05-05T03:30:47Z","modified":"2024-08-07T19:55:50Z","cwes":["CWE-436"],"updated_at":"2026-11-02T14:37:58.427757Z"}],"nvd":[{"id":"CVE-2024-34478","description":"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.","status":"published","published":"2024-05-05T01:15:06.32Z","modified":"2026-06-17T07:33:30Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high","assessor":"secondary"}],"cwes":["CWE-436"],"updated_at":"2026-11-02T14:09:56.122111Z"}],"osv":[{"id":"CVE-2024-34478","description":"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.","status":"published","published":"2024-05-05T00:00:00Z","modified":"2026-10-28T02:30:52.848096174Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T15:44:40.391953Z"},{"id":"GHSA-3jgf-r68h-xfqm","title":"btcd susceptible to consensus failures","description":"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.","status":"published","published":"2024-05-05T03:30:47Z","modified":"2024-08-07T19:55:49Z","cwes":["CWE-436"],"updated_at":"2026-11-02T15:46:35.747385Z"},{"id":"GO-2024-2818","title":"Consensus failures in github.com/btcsuite/btcd","description":"Incorrect implementation of the consensus rules outlined in BIP 68 and BIP 112 making btcd 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.","status":"published","published":"2024-05-08T17:51:16Z","modified":"2024-05-20T16:03:47Z","updated_at":"2026-11-02T15:47:01.453823Z"}]}}
