#36262 test: cover orphan reconsideration interruptibility

full analysis

https://github.com/bitcoin/bitcoin/pull/36262 · ViniciusCestarii · +72/-0 in 1 files, 1 commits · labels: Tests

Goal

  • Ensure peer message processing cannot be stalled by unbounded orphan reconsiderations
  • Protects node operators against future regressions of a denial of service vulnerability

Adds a unit test to `denialofservice_tests.cpp` verifying that `PeerManagerImpl::ProcessOrphanTx` reconsiders at most one orphan transaction per `ProcessMessages()` cycle. This ensures that the interruptibility required to prevent CVE-2024-52914 is maintained across future changes.

Problem: CVE-2024-52914 allowed an attacker to stall peer message processing by causing unbounded orphan reconsiderations. Although fixed in production code, no test verified that the orphan reconsideration loop returns after processing a single orphan.

Category: P2P (#46 of 65)

P3 · test coverage

  • P3 because it provides regression test coverage for a past peer-to-peer denial of service vulnerability
  • The bug is already fixed in production, making this test a preventive guardrail

Provides regression test coverage for a past P2P DoS vulnerability (CVE-2024-52914) by verifying that orphan reconsideration remains interruptible. The production fix is already deployed, making this test useful regression guardrail work rather than an urgent fix.

Membership: Tests message processing and orphan transaction reconsideration limits in net_processing.

Factors: security/stability 1, bug 0, performance 0, user value 0, leverage 0

Reviewability: Ready

  • Ready for review with a clean diff and passing CI

Clean diff with passing CI and no blocking feedback.

Author status: active

Agreement: Positive

  • Uncontroversial addition with positive initial sentiment
  • Concept approval without stated reasons (instagibbs)

Positive: concept ACK from instagibbs with no objections

The change is uncontroversial and has received initial concept support.

  • instagibbs gave a concept ACK

Review verdicts (DrahtBot): 0

Files

72 lines under test/bench/ci.

  • src/test/denialofservice_tests.cpp +72/-0

Card

Adds a unit test in denialofservice_tests verifying that orphan transaction reconsideration in PeerManager is interruptible, accepting or rejecting at most one orphan per ProcessMessages call. This provides regression coverage for CVE-2024-52914 and kills two mutants in net_processing. The change has received a concept ACK from instagibbs with no outstanding issues.

Data

dossier JSON · extract JSON · model openrouter/google/gemini-3.8-flash, generated 2026-09-17T15:59, confidence high, input hash 5b7cd5689d9c550e