Skip to content

BlockTransactionRequest: Non-conformity of BIP-152 in rust bitcoin #57

@hax0kartik

Description

@hax0kartik

I got a crash in BlockTransactionRequest deserialization target as rust-bitcoin does not conform to BIP-152 and treats indexes as uint64_t values when according to BIP and Core, they should be treated as uint16_t values.

This also makes it possible to theoretically create a non-conformant BlockTransactions/BlockTxn message with more than U16_MAX transactions in a Block. ("Theoretically" because I am not sure whether a node would have a Block with such a large number of transactions anyway)

I think at the bare minimum, rust-bitcoin should return an error with an index greater than u16 max while deserializing a BlockTransactionRequest.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions