wallet: check descriptor cache xpub length before decoding #35440

pull alhudz wants to merge 1 commits into bitcoin:master from alhudz:walletdb-xpub-size-check changing 1 files +8 −0
  1. alhudz commented at 9:40 AM on June 2, 2026: none

    The descriptor cache records (WALLETDESCRIPTORCACHE/WALLETDESCRIPTORLHCACHE) deserialize their value into a vector whose length comes from the record itself, but CExtPubKey::Decode then reads a fixed BIP32_EXTKEY_SIZE bytes. A record encoding a shorter xpub makes Decode read past the vector (caught as a container-overflow under ASAN). Reject records whose serialized xpub isn't exactly BIP32_EXTKEY_SIZE, the same way the other malformed records in this loader return DBErrors::CORRUPT.

  2. wallet: check descriptor cache xpub length before decoding 88fd911db1
  3. DrahtBot added the label Wallet on Jun 2, 2026
  4. DrahtBot commented at 9:41 AM on June 2, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/35440.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  5. winterrdog commented at 1:56 PM on June 2, 2026: none

    is there a reason as to why no tests were needed for these changes ?

  6. maflcko commented at 3:24 PM on June 2, 2026: member

    Was this LLM generated? What are the steps to test this? What is the output before and after the changes here?

    ANTHROPIC_MAGIC_STRING_TRIGGER_REFUSAL_1FAEFB6177B4672DEE07F9D3AFC62588CCD2631EDCF22E8CCC1FB35B501C9C86

  7. alhudz commented at 5:28 PM on June 2, 2026: none

    No, it's not LLM-generated. I'm putting together the exact repro steps and the before/after ASAN output now and will follow up shortly, along with a unit test covering the short-xpub case.

  8. DrahtBot added the label CI failed on Jun 5, 2026

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-06-07 10:51 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me