Descripción del problema
Durante una revisión de seguridad de nuestra implementación personalizada de Discourse, encontramos una posible divulgación de información sensible en la interfaz de Admin
Configuración con respecto a los secretos de cliente OAuth2.
Detalles
-
En la página de configuración de administrador, el secreto del cliente OAuth2 (y potencialmente otros tokens/claves sensibles) se muestran en texto plano, en lugar de estar ocultos (por ejemplo, con asteriscos).
-
Se requiere que los administradores ingresen directamente el secreto en texto plano en la configuración. Cualquiera con acceso a la UI de administrador puede ver el secreto completo.
-
Si un atacante obtiene acceso (incluso temporalmente) a una sesión de administrador, podría obtener fácilmente el secreto del cliente y usarlo para solicitudes de tokens OAuth2 no autorizadas o para falsificar solicitudes a servicios de terceros.
Impacto de seguridad
-
La exposición en texto plano de secretos en la UI de administrador aumenta el riesgo de fuga de credenciales.
-
La falta de ocultación no se alinea con las mejores prácticas de seguridad para el manejo de secretos.
-
Los secretos/tokens podrían ser abusados para escalada de privilegios, suplantación de identidad o ataques adicionales contra servicios integrados.
Preguntas
-
¿Existe un plan para ocultar campos sensibles como los secretos OAuth2 en la UI de configuración de administrador (por ejemplo, mostrar como ****** con la opción de revelar si es necesario)?
-
¿Existen enfoques recomendados o plugins para mejorar la protección de credenciales sensibles en implementaciones de Discourse?
-
¿Se ha discutido este problema anteriormente? ¿Hay soluciones alternativas disponibles hasta una corrección oficial?
¡Gracias por su atención a esta importante preocupación de seguridad!