[Majeur] Unicité du username sensible à la casse et aux espaces (usurpation de « dede ») #104
Labels
No labels
bug
enhancement
feature
groupe/chat-data
groupe/friends-blocking
groupe/input-validation
groupe/realtime-presence
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Transcendence/backend#104
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Gravité : Majeur
Rapports QA d'origine : AUTH-04, PROFILE-02
« DEDE » ou « dede » sont acceptés ; retours à la ligne, caractères invisibles et 255 caractères aussi.
Détails des rapports
[AUTH-04] Unicité du username sensible à la casse et aux espaces (usurpation d'identité visuelle) — Gravité : Mineur
POST /api/auth/registerqa_auth_dupo1fp. 2. InscrireQA_AUTH_DUPO1FP-> 201. 3. Inscrireqa_auth_dupo1fp(espace final) -> 201 (l'UI trim, pas l'API). L'email, lui, est normalisé (409 pour...@QA.TESTet avec espaces).Dede/dedeen lookalike de l'admin. Le login par username est lui sensible à la casse (DEDE!=dede-> 406) alors que le login par email ne l'est pas.RegisterUserCommand.cs:28(e.UserName == req.UserName),LoginUserCommand.cs:16.[PROFILE-02] Unicité du nom d'utilisateur sensible à la casse / espaces : usurpation possible de "dede" — Gravité : Majeur
PATCH /api/me(etPOST /api/auth/register, même logique)PATCH /api/me {"userName":"DEDE"}puis{"userName":"dede "}(espace final).dede), ou nom normalisé/trimé."a\nb") et noms de 255 caractères aussi acceptés.200 {"userName":"DEDE"},200 {"userName":"dede "},200 {"userName":"a\nb"},200pour 255 'a'.backend/API/Users/Me/Update/UpdateMeCommand.cs:17(u.UserName == req.UserName, comparaison exacte) ; pas deTrim/normalisation ;UpdateMeEndpoint.cs:14[Length(1,255)]; idemAuth/Register/RegisterUserCommand.cs:25.Trouvé par une campagne de tests QA automatisés (agents Claude, Playwright) sur l'environnement de dev. Les captures citées sont locales et non jointes.