Experiment metadata containing a NUL character answers 500

Aperta Adatta ai principianti
#961 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
78/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
postgresql, python
Ambito
api, backend, database

Direzione di ricerca

Inizia seguendo il gestore di POST /api/v1/experiments/{id}/metadata e il relativo percorso di convalida della richiesta e scrittura nel database. Riproduci l'errore 500 con il comando curl fornito utilizzando un valore JSON contenente un carattere NUL. La correzione è completata quando la richiesta restituisce 422 identificando il campo non valido, oppure rimuove in modo sicuro il NUL senza scrivere i metadati.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug post-launch

Sent POST /api/v1/experiments/{id}/metadata with {"note":"a\^@b"}; comes back 500 (PostgreSQL's JSONB
refuses \^@). Expected 422 naming the field, or the character removed. Nothing is written.
Reproduction (DEVELOPER): curl -X POST -H "Authorization: Bearer <DEVELOPER token>" -H 'Content-Type: application/json' -d '{"note":"a\^@b"}' http://localhost:8000/api/v1/experiments/<id>/metadata

Found by API fuzzing (a local run), reproduced by hand.

Lingua principale
Python
Stelle
0
Fork
4
Merge medio
5h 19m
PR unite (30g)
503

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Controlvar/controlvar

Tutte le issue di Controlvar/controlvar

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.