Hardening: cap the invite_user list size in UpdateQuestionInviteUser to bound notification fan-out
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
Direzione di ricerca
Inizia da internal/schema/question_schema.go:206 e segui la validazione dell'array invite_user utilizzato da PUT /answer/api/v1/question/invite. Individua il limite di inviti esistente nella UI, quindi verifica come vengono gestite le richieste che superano tale limite e aggiungi una copertura corrispondente se il repository contiene test per questo schema o endpoint. Il lavoro è completato quando il server impone un massimo e impedisce un fan-out illimitato delle notifiche.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Background
PUT /answer/api/v1/question/invite accepts an uncapped invite_user array (internal/schema/question_schema.go:206), so a single request can trigger a large number of "invited you to answer" notifications.
I reported this privately to the ASF security team. They confirmed the endpoint's rank-gated, site-wide behaviour is by design (not a boundary crossing), but noted the missing maximum on invite_user reads as hardening. Filing here per that suggestion.
Suggested hardening
- Add a sane server-side maximum on
invite_user(e.g. matching the UI's limit) to bound the notification fan-out.
Happy to send a PR.
- Lingua principale
- Go
- Stelle
- 15.7k
- Fork
- 1.4k
- Merge medio
- 1g 20h
- PR unite (30g)
- 6
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
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 apache/answer
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
Gravatar hash is computed from the un-lowercased email, so mixed-case accounts render an identicon Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
-
The Gin engine is initialized without a recovery middleware, causing connection drops on panic Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Tutte le issue di apache/answer
Issue simili
-
area/dev-productivity area/disaster-recovery area/ipcei kind/enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
kind/bug status/0-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
🤔 refinement needed
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
equinor/radix-operator#1979 ·