Skip to content

Commit 3980876

Browse files
UltraDAGcomClaude Opus 4.6 (1M context)
andcommitted
bounty: record BB-2026-0004 — 10,000 UDAG to Sumitshah00
Name-registry sponsored-tx authentication bypass (GHSA-hf8w-rcvm-rgqr). Critical severity. Pricing dropped to 10K from prior 15K Critical tier to stretch the 500K pool further (target runway ~50 crits). Payable at mainnet launch. Testnet courtesy payment pending. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent f562789 commit 3980876

1 file changed

Lines changed: 40 additions & 4 deletions

File tree

docs/security/bug-bounty/LEDGER.md

Lines changed: 40 additions & 4 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:** 32,500 UDAG
5+
**Total Awarded:** 42,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)
@@ -116,6 +116,42 @@ Advisory: GHSA-rprp-wjrh-hx7g
116116
Status: Validated / Fixed / Pending Testnet Payout / Pending Mainnet
117117
```
118118

119+
### BB-2026-0004
120+
```
121+
ID: BB-2026-0004
122+
Date: 2026-04-15
123+
Hunter: Sumitshah00 (tudg17lzd76ue95ht07hxzna8mzey4tkpk85jtjns2d)
124+
Severity: Critical
125+
Reward: 10,000 UDAG (mainnet promise)
126+
Testnet Paid: Pending (faucet rate-limited; will send via validator key)
127+
Source: Treasury (paid from treasury emission post-launch)
128+
Issue: RegisterNameTx::verify_signature short-circuited with `return true`
129+
whenever fee_payer was present, skipping the owner's ed25519 signature
130+
check. Because `from` is a free-form Address field bound only by that
131+
signature, any attacker with a funded address could forge `from =
132+
victim_address`, leave the owner signature as zeros, attach their own
133+
valid fee_payer envelope, and register an arbitrary name to the
134+
victim. Since the registry enforces one-name-per-address, this
135+
permanently squats the victim's identity slot. Also enables relay
136+
treasury drain if a public sponsor ever runs. Reporter supplied a
137+
self-contained PoC with both hijack and premium-name attempts.
138+
Critical tier — authentication bypass on user-visible identity.
139+
Fix: verify_signature now verifies the owner signature unconditionally.
140+
Owner pub_key must derive to `from`, ed25519 sig over signable_bytes
141+
must verify, regardless of fee_payer presence. Fee_payer signature
142+
remains verified in apply_register_name_tx where it authorizes the
143+
fee debit (not the name assignment). Matches standard meta-tx pattern:
144+
user signs intent, sponsor signs envelope.
145+
Regression tests: crates/ultradag-coin/tests/name_registry_sponsored_auth.rs
146+
- sponsored_registration_rejects_forged_from_without_owner_signature
147+
(exact reporter PoC)
148+
- sponsored_registration_rejects_mismatched_pubkey (pub_key/from split)
149+
- sponsored_registration_accepts_owner_signed_tx (legit meta-tx path)
150+
- non_sponsored_registration_still_requires_owner_signature (sanity)
151+
Advisory: GHSA-hf8w-rcvm-rgqr
152+
Status: Validated / Fixed / Pending Testnet Payout / Pending Mainnet
153+
```
154+
119155
---
120156

121157
## Pending Validation
@@ -133,9 +169,9 @@ Status: Validated / Fixed / Pending Testnet Payout / Pending Mainnet
133169
- Unique hunters: 0
134170

135171
### April 2026
136-
- Submissions: 3 valid (GHSA-q8wx-2crx-c7pp, GHSA-6gwf-frh8-ppw7, GHSA-rprp-wjrh-hx7g)
137-
- Validated: 3
138-
- Rewards: 32,500 UDAG
172+
- Submissions: 4 valid (GHSA-q8wx-2crx-c7pp, GHSA-6gwf-frh8-ppw7, GHSA-rprp-wjrh-hx7g, GHSA-hf8w-rcvm-rgqr)
173+
- Validated: 4
174+
- Rewards: 42,500 UDAG
139175
- Unique hunters: 1 (Sumitshah00)
140176

141177
### Mainnet launched: 2026-04-10

0 commit comments

Comments
 (0)