Skip to content

Commit da9dda5

Browse files
UltraDAGcomClaude Opus 4.6 (1M context)
andcommitted
bounty: record BB-2026-0003 — 7,500 UDAG to Sumitshah00
Adaptive-quorum bypass via producer-backed phantoms (GHSA-rprp-wjrh-hx7g). High severity. Premium awarded for bypass-discovery quality on an advisory that was previously believed fixed. 7,500 UDAG from treasury allocation, payable at mainnet launch. Testnet courtesy payment pending. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent d09391e commit da9dda5

1 file changed

Lines changed: 41 additions & 5 deletions

File tree

docs/security/bug-bounty/LEDGER.md

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
**Program Start:** March 8, 2026
44
**Total Allocated:** 500,000 UDAG (mainnet)
5-
**Total Awarded:** 25,000 UDAG
5+
**Total Awarded:** 32,500 UDAG
66
**Total Paid (Testnet):** 0 UDAG (pending — faucet rate-limited)
77
**UDAG Mainnet Token:** [`0x9cFD2011DF13d9E394B5Bb59f0f7e7A5C512155b`](https://arbiscan.io/token/0x9cFD2011DF13d9E394B5Bb59f0f7e7A5C512155b) (Arbitrum One, deployed 2026-04-12)
88
**Bounty Payment Source:** Genesis allocation holder `0x9aEcb515361af7980eaa16fE40c064f69738EbF9` (to be reimbursed from treasury post-emission)
@@ -80,6 +80,42 @@ Advisory: GHSA-6gwf-frh8-ppw7
8080
Status: Validated / Fixed / Pending Testnet Payout / Pending Mainnet
8181
```
8282

83+
### BB-2026-0003
84+
```
85+
ID: BB-2026-0003
86+
Date: 2026-04-15
87+
Hunter: Sumitshah00 (tudg17lzd76ue95ht07hxzna8mzey4tkpk85jtjns2d)
88+
Severity: High
89+
Reward: 7,500 UDAG (mainnet promise)
90+
Testnet Paid: Pending (faucet rate-limited; will send via validator key)
91+
Source: Treasury (paid from treasury emission post-launch)
92+
Issue: Adaptive-quorum patch (commit 181b2e8b) was incomplete. The earlier
93+
fix only blocked registration-only phantom validators; producer-backed
94+
phantoms (attacker keys that each sign one DagVertex) were still
95+
counted by active_validator_count() in the LIVENESS_WINDOW, and the
96+
upper_bound in unconfigured mode still derived from validators.len().
97+
PoC: 4 honest validators + 3 phantom signers raised threshold to
98+
ceil(2*7/3)=5, stalling finality forever in honest-only post-attack
99+
rounds. Reporter included a fully self-contained Rust PoC that
100+
compiles against the public tree and demonstrates the stall.
101+
Production paths (--validators N, --validator-key <file>) were never
102+
exposed because they pin configured topology — but the unconfigured
103+
mode would have detonated for any operator that forgot the flag.
104+
Premium awarded for bypass-discovery quality on a previously-claimed-fixed
105+
advisory.
106+
Fix: ValidatorSet now fails closed in permissionless mode. quorum_threshold
107+
and adaptive_quorum_threshold both return usize::MAX when neither
108+
configured_validators nor allowed_validators is set. adaptive_quorum_threshold's
109+
upper_bound now derives ONLY from declared topology, never from
110+
validators.len(), so producer-backed phantoms cannot raise the ceiling.
111+
Regression test: producer_backed_phantom_cannot_stall_finality in
112+
crates/ultradag-coin/tests/phantom_validator.rs (replays the reporter's
113+
exact 4-honest + 3-phantom scenario and asserts last_finalized_round
114+
advances past the attack round).
115+
Advisory: GHSA-rprp-wjrh-hx7g
116+
Status: Validated / Fixed / Pending Testnet Payout / Pending Mainnet
117+
```
118+
83119
---
84120

85121
## Pending Validation
@@ -97,9 +133,9 @@ Status: Validated / Fixed / Pending Testnet Payout / Pending Mainnet
97133
- Unique hunters: 0
98134

99135
### April 2026
100-
- Submissions: 2 valid (GHSA-q8wx-2crx-c7pp, GHSA-6gwf-frh8-ppw7)
101-
- Validated: 2
102-
- Rewards: 25,000 UDAG
136+
- Submissions: 3 valid (GHSA-q8wx-2crx-c7pp, GHSA-6gwf-frh8-ppw7, GHSA-rprp-wjrh-hx7g)
137+
- Validated: 3
138+
- Rewards: 32,500 UDAG
103139
- Unique hunters: 1 (Sumitshah00)
104140

105141
### Mainnet launched: 2026-04-10
@@ -208,5 +244,5 @@ All changes to this ledger are tracked in git history. Each reward entry include
208244
---
209245

210246
**Ledger Maintainer:** UltraDAG Core Team
211-
**Last Updated:** April 12, 2026
247+
**Last Updated:** April 15, 2026
212248
**Next Audit:** May 11, 2026

0 commit comments

Comments
 (0)