#36262 test: cover orphan reconsideration interruptibility
https://github.com/bitcoin/bitcoin/pull/36262 · · +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
- Concept ACK: instagibbs
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.