Hardening: cap the invite_user list size in UpdateQuestionInviteUser to bound notification fan-out
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 72/100
Línea de trabajo
Comienza en internal/schema/question_schema.go:206 y sigue la validación del array invite_user utilizado por PUT /answer/api/v1/question/invite. Encuentra el límite de invitaciones existente en la UI, verifica después cómo se gestionan las solicitudes que superan ese límite y añade cobertura equivalente si el repositorio tiene tests para este schema o endpoint. El trabajo estará terminado cuando el servidor imponga un máximo y evite una distribución ilimitada de notificaciones.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Go
- Estrellas
- 15.7k
- Forks
- 1.4k
- Merge medio
- 1 d 20 h
- PR fusionados (30 d)
- 6
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de apache/answer
-
List button click not working Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
Gravatar hash is computed from the un-lowercased email, so mixed-case accounts render an identicon Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
-
The Gin engine is initialized without a recovery middleware, causing connection drops on panic Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Todos los issues de apache/answer
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
bug group: validation priority: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
codecheckers/chekhov#51 ·
-
Creating worktree from an existing remote branch with a slash in it, has unexpected behaviour Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100