blob: 42218ff2da2d0bc0b6ca2cd1ef9bee18d660d7fc [file] [log] [blame]
id: GO-2024-3189
modules:
- module: github.com/btcsuite/btcd
versions:
- fixed: 0.24.2-beta.rc1
non_go_versions:
- introduced: 0.10.0
vulnerable_at: 0.24.0
packages:
- package: github.com/btcsuite/btcd/txscript
symbols:
- opcodeCheckMultiSig
- taprootSigVerifier.Verify
- opcodeCodeSeparator
- baseSegwitSigVerifier.Verify
- baseSigVerifier.Verify
- removeOpcodeByData
- opcodeCheckSig
- VerifyTaprootKeySpend
- opcodeCheckSigAdd
- baseTapscriptSigVerifier.Verify
derived_symbols:
- Engine.Execute
- Engine.Step
summary: Consensus failure in github.com/btcsuite/btcd
description: |-
The btcd Bitcoin client (versions 0.10 to 0.24) did not correctly re-implement
Bitcoin Core's 'FindAndDelete()' functionality, causing discrepancies in the
validation of Bitcoin blocks. This can lead to a chain split (accepting an
invalid block) or Denial of Service (DoS) attacks (rejecting a valid block). An
attacker can trigger this vulnerability by constructing a 'standard' Bitcoin
transaction that exhibits different behaviors in 'FindAndDelete()' and
'removeOpcodeByData()'.
cves:
- CVE-2024-38365
ghsas:
- GHSA-27vh-h6mc-q6g8
credits:
- darosior
- dergoegge
references:
- advisory: https://github.com/btcsuite/btcd/security/advisories/GHSA-27vh-h6mc-q6g8
- fix: https://github.com/btcsuite/btcd/commit/04469e600e7d4a58881e2e5447d19024e49800f5
- web: https://delvingbitcoin.org/t/cve-2024-38365-public-disclosure-btcd-findanddelete-bug/1184
- web: https://github.com/btcsuite/btcd/releases/tag/v0.24.2
source:
id: GHSA-27vh-h6mc-q6g8
created: 2024-10-14T16:05:08.379064-04:00
review_status: REVIEWED