[W-6] Unauthenticated reachability-state poisoning — payout pause + recovery lock
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 25/100
Direzione di ricerca
Start by checking whether the finding still reproduces on current main: find where MarkUnreachable is called on payment errors in merchant.go (around lines 303-305 and 495-500) and how consecutiveSuccesses is reset in mint_health_tracker.go (lines 162-171). Reproduce the payout pause and recovery lock with a test that sends a failing payment and then one probe failure. Done means either a confirmed repro with a fix that marks unreachable only on network-class errors and triggers the set-changed check, or a note that the issue no longer applies.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Migrated from Amperstrand/tollgate-module-basic-go#75 as part of the fork retirement — OpenTollGate/tollgate-module-basic-go is the single source of truth; the fork issue carries the original discussion and any lab evidence. Retirement plan: #758.]
LOW-MEDIUM: Reachability-state poisoning attack. MarkUnreachable is called on any payment error, causing the payout routine to pause (merchant.go:303-305) and resetting consecutiveSuccesses forever (mint_health_tracker.go:162-171). This locks recovery indefinitely when combined with one genuine probe failure.
One unauthenticated POST suffices (README config typically has exactly 1 accepted mint). The Phase-1 claim of "invalid tokens → all mints unreachable → degraded mode → payment outage ~15 min" was downgraded after PoC — the downgrade callback doesn't fire while the mint is healthy, but the payout pause and recovery lock are still exploitable.
Fix: Only mark unreachable on network-class errors; fire the set-changed check from MarkUnreachable.
Evidence: /home/ubuntu/src/tollgate_audit_report_2026-08-26.md §7, line 151
File references: merchant.go:495-500, mint_health_tracker.go:162-171
Migrated 2026-10-09. Applicability to current upstream main (4614ac2, post-rc1) was not re-verified during migration — confirming whether the finding still reproduces upstream is this issue's first task.
- Lingua principale
- Go
- Stelle
- 12
- Fork
- 14
- Merge medio
- 1g 8h
- PR unite (30g)
- 201
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di OpenTollGate/tollgate-module-basic-go
-
changelog: dependency-security sweep missing from [Unreleased] [Amperstrand fork #105 review debt]Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
OpenTollGate/tollgate-module-basic-go#1055 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
OpenTollGate/tollgate-module-basic-go#1027 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
OpenTollGate/tollgate-module-basic-go#1026 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
OpenTollGate/tollgate-module-basic-go#833 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
OpenTollGate/tollgate-module-basic-go#813 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di OpenTollGate/tollgate-module-basic-go
Issue simili
-
area: records fast-track-debt priority: normal
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
processor/genainormalizer
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
open-telemetry/opentelemetry-collector-contrib#52328 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
[tooling] Example acceptance runner reports ALL PASS for an unsupported program (tested patch)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
limitlessprojects/Go-Hybrid#1595 ·
I maintainer di solito rispondono entro 1 giorno
-
provider: hyper
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
charmbracelet/crush#4134 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
AvengeMedia/DankMaterialShell#3912 ·