Descrizione del problema
Durante una valutazione della sicurezza della nostra implementazione personalizzata di Discourse, abbiamo scoperto una potenziale vulnerabilità di directory traversal relativa all’endpoint /uploads/*.
Dettagli del problema
-
Accedendo a
/uploads/, gli utenti possono recuperare file da directory di upload arbitrarie manipolando il percorso dell’URL. -
Ad esempio, è possibile attraversare e accedere a file in diverse directory di upload che dovrebbero essere logicamente separate o protette.
-
Questo comportamento potrebbe consentire a utenti non autorizzati di accedere a file o allegati sensibili non destinati a loro, il che rappresenta un rischio per la sicurezza.
Esempio
Supponiamo che l’utente A carichi un file nei propri messaggi privati (o in un altro contesto limitato).
Un attaccante può creare un URL come:
https://\u003cdominio-del-tuo-forum\u003e/uploads/default/original/1X/../../un_altra_directory/file_segreto.jpg
Ciò consente all’attaccante di risalire l’albero delle directory e accedere ai file in altre directory.
Impatto sulla sicurezza
-
Divulgazione non autorizzata di file privati, interni o altrimenti riservati
-
Possibile escalation a seconda del contenuto del file
Domande / Feedback richiesto
-
Questo è il comportamento previsto nell’attuale implementazione di upload?
-
Ci sono configurazioni o patch consigliate per prevenire la directory traversal in
/uploads/? -
Questo problema è stato discusso o mitigato in Discourse upstream?
-
Avete indicazioni per proteggere ulteriormente l’accesso ai file nelle implementazioni di Discourse?
Grazie per la vostra attenzione e il vostro feedback su questo potenziale problema.