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
8080Status: 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