Probleembeschrijving
Tijdens een beveiligingsbeoordeling van onze aangepaste Discourse-implementatie hebben we een mogelijke openbaarmaking van gevoelige informatie gevonden in de Admin > Instellingen-interface met betrekking tot OAuth2 client secrets.
Details
-
Op de admin configuratiepagina worden het OAuth2 client secret (en mogelijk andere gevoelige tokens/sleutels) in platte tekst weergegeven, in plaats van gemaskeerd te zijn (bijv. met sterretjes).
-
Beheerders zijn verplicht om het platte secret rechtstreeks in de instellingen in te voeren. Iedereen met toegang tot de admin UI kan het volledige secret zien.
-
Als een aanvaller toegang krijgt (zelfs tijdelijk) tot een admin-sessie, kunnen ze gemakkelijk het client secret verkrijgen en gebruiken voor ongeautoriseerde OAuth2-tokenaanvragen of om aanvragen naar externe services te vervalsen.
Beveiligingsimpact
-
Blootstelling van secrets in platte tekst in de admin UI verhoogt het risico op het lekken van inloggegevens.
-
Het ontbreken van maskering is niet in lijn met beveiligingsbest practices voor het omgaan met secrets.
-
De secrets/tokens kunnen worden misbruikt voor privilege-escalatie, impersonatie of verdere aanvallen tegen geĆÆntegreerde services.
Vragen
-
Is er een plan om gevoelige velden zoals OAuth2 secrets te maskeren in de admin instellingen UI (bijv. weergeven als ****** met de optie om indien nodig te onthullen)?
-
Zijn er aanbevolen benaderingen of plugins om de bescherming van gevoelige inloggegevens in Discourse-implementaties te verbeteren?
-
Is dit probleem eerder besproken? Zijn er workarounds beschikbaar tot een officiƫle oplossing?
Bedankt voor uw aandacht voor deze belangrijke beveiligingskwestie!