[Mineur] Un caractère NUL (U+0000) dans un champ texte provoque un 500 #116
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#116
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é : Mineur
Rapports QA d'origine : SECURITY_UX-10, CHAT-07
Messages, noms et autres champs : PostgreSQL refuse le caractère et l'erreur n'est pas gérée.
Détails des rapports
[SECURITY_UX-10] Un caractère NUL (U+0000) dans n'importe quel champ texte provoque un 500 — Gravité : Mineur
POST /channels/{id}/messages,PATCH /me(userName),POST /channels(topic),POST /events(name) — probablement tous les champs texte persistésPOST /api/channels/<id>/messages/ {"content":"a\u0000b"}(JSON valide)DbUpdateException/Npgsql.PostgresException 22021: invalid byte sequence for encoding "UTF8": 0x00, avec stack trace. Les emoji / RTL / CJK / hors-plan multilingue sont bien acceptés ; un surrogate isolé donne 400.[CHAT-07] Caractère NUL dans un message -> 500 — Gravité : Mineur
POST /channels/{id}/messagesavec content contenant\u0000-> 500 DbUpdateException (PostgreSQL refuse NUL dans text). Non filtré côté API."\u0000"seul et"a\u0000b"-> 500 ; le même texte accents/CJK/emoji/RTL sans NUL -> 201.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.