This commit only adds new test code for the PSBT (Partially Signed Bitcoin Transaction) package. It does not change any production code. The tests verify that WitnessUtxo fields are parsed strictly and correctly, including rejecting extra …
Strict parsing tests for WitnessUtxo transaction outputsRejection of trailing data after serialized txOutCorrect handling of multi-byte CompactSize script lengths
This change tightens how base64-encoded PSBT (Partially Signed Bitcoin Transaction) data is decoded. Previously, the decoder could silently ignore extra whitespace or unexpected characters in the base64 stream. Now it rejects anything that…
Strict input validation added for base64 decodingRejection of whitespace/newlines inside base64 payloadUse of strict base64 decoder to enforce RFC4648 padding rules
This commit only adds new test code to check that the PSBT (Partially Signed Bitcoin Transaction) parser rejects malformed base64 input such as whitespace, bad padding, or extra bytes. It does not change the actual parser logic. The tests …
strict base64 decoding validationPSBT packet format hardeningrejection of non-canonical base64 input
This commit adds a check in btcd's Bitcoin network message parser to reject v2 protocol messages that contain leftover, unread data after the expected payload has been decoded. Previously, extra bytes at the end of a message payload were s…
Strict input validation added to network protocol parserRejection of trailing bytes prevents parsing ambiguityPotential P2P protocol malleability vector addressed
This commit adds a new test to check that the Bitcoin wire protocol v2 message parser rejects messages containing extra, unexpected trailing bytes. It does not change production code; it only strengthens test coverage for a parsing safety …
Trailing-byte rejection is a defensive parsing invariant that can prevent protocol desynchronization or message-boundary confusion.The test mirrors an existing v1 test (TestReadMessageTrailingBytes), suggesting the v2 code path may have lacked equivalent coverage.No fix or behavior change is present; the commit only adds regression coverage.
This is a one-byte fix in a test file. A test transaction used to exercise the Bloom filter code had an extra trailing zero byte, making it malformed. The change removes that extra byte so the test data is a valid serialized Bitcoin transa…
This commit tightens two helper functions that create Bitcoin block and transaction objects from raw bytes. Previously, extra bytes after a valid block or transaction were silently ignored. Now the functions return an error if any unexpect…
Strict input validation: rejection of trailing bytes after deserializationPotential malleability reduction: prevents extra payload from being accepted as part of a block/tx wrapperDefensive hardening of public API constructors used by downstream consumers
This commit only adds new unit tests. It does not change any production code. The tests verify that two helper functions already reject input that contains extra bytes after a valid Bitcoin block or transaction. Because no code behavior is…
Tests assert strict deserialization rejects trailing bytesNo production code changes
This commit fixes a bug in the MuSig2 multi-signature code where reading a partial signature from an input stream could fail silently. Previously, if the stream ended early or had a read error, the function would return 'no error' as if th…
Silent failure in cryptographic decode pathPartial signature scalar left uninitialized on read errorMuSig2 signing correctness dependency
This commit only adds a new unit test that checks whether the MuSig2 partial signature decoder correctly rejects empty or too-short inputs. It does not change any production code, so by itself it cannot introduce or fix a security vulnerab…
This commit only changes Go module configuration so that the main btcd project uses local copies of two of its own sub-packages (btcutil and wire) instead of fetching them from the internet. There is no code behavior change, no bug fix, an…
This commit changes how raw transactions submitted to the Bitcoin node via RPC are decoded. It switches from a lenient decoder to a stricter one that validates the transaction more thoroughly before accepting it. The likely effect is to pr…
Stricter deserialization of user-supplied raw transaction dataChange in RPC input validation path (sendrawtransaction)Potential denial-of-service or mempool corruption risk from malformed transactions mitigated
A quiet fix may be responsible caution—or it may leave users unaware that their assets were ever at risk. CommitWatch preserves the evidence, adds context, and tracks whether vendors disclose, acknowledge, and learn.