Potenziale Directory Traversal: /uploads/* consente l'accesso inter-directory ai file

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.

Potrebbe interessarti la funzionalità secure-uploads.

3 Mi Piace