Descrizione del problema
Durante una revisione della sicurezza della nostra distribuzione Discourse personalizzata, abbiamo riscontrato una potenziale divulgazione di informazioni sensibili nell’interfaccia Admin
Settings riguardo ai segreti del client OAuth2.
Dettagli
-
Nella pagina di configurazione dell’amministratore, il segreto del client OAuth2 (e potenzialmente altri token/chiavi sensibili) sono mostrati in testo in chiaro, anziché essere mascherati (ad esempio con asterischi).
-
Gli amministratori sono tenuti a inserire direttamente il segreto in chiaro nelle impostazioni. Chiunque abbia accesso all’interfaccia utente di amministrazione può vedere l’intero segreto.
-
Se un attaccante ottiene accesso (anche temporaneamente) a una sessione di amministrazione, potrebbe facilmente ottenere il segreto del client e utilizzarlo per richieste di token OAuth2 non autorizzate o per falsificare richieste a servizi di terze parti.
Impatto sulla sicurezza
-
L’esposizione in testo in chiaro dei segreti nell’interfaccia utente di amministrazione aumenta il rischio di fuga di credenziali.
-
La mancanza di mascheramento non è in linea con le migliori pratiche di sicurezza per la gestione dei segreti.
-
I segreti/token potrebbero essere abusati per l’escalation dei privilegi, l’impersonificazione o ulteriori attacchi contro i servizi integrati.
Domande
-
C’è un piano per mascherare campi sensibili come i segreti OAuth2 nell’interfaccia delle impostazioni di amministrazione (ad esempio, visualizzarli come ****** con l’opzione di rivelarli se necessario)?
-
Ci sono approcci o plugin consigliati per migliorare la protezione delle credenziali sensibili nelle distribuzioni Discourse?
-
Questo problema è stato discusso in precedenza? Ci sono soluzioni alternative disponibili fino a una correzione ufficiale?
Grazie per la vostra attenzione a questa importante preoccupazione di sicurezza!