问题描述
在我们定制的 Discourse 部署的安全审查中,我们在管理员 > 设置界面中发现了一个关于 OAuth2 客户端密钥的潜在敏感信息泄露问题。
详细信息
-
在管理员配置页面中,OAuth2 客户端密钥(以及其他潜在的敏感令牌/密钥)以明文形式显示,而不是被屏蔽(例如用星号表示)。
-
管理员需要将明文密钥直接输入到设置中。任何能够访问管理员 UI 的人都可以看到完整的密钥。
-
如果攻击者(即使是暂时的)获得了管理员会话的访问权限,他们可以轻松获取客户端密钥,并将其用于未经授权的 OAuth2 令牌请求或伪造请求到第三方服务。
安全影响
-
管理员 UI 中明文暴露密钥会增加凭证泄露的风险。
-
缺乏屏蔽不符合处理密钥的安全最佳实践。
-
密钥/令牌可能被滥用于权限提升、身份仿冒或针对集成服务的进一步攻击。
问题
-
是否有计划在管理员设置 UI 中屏蔽敏感字段,如 OAuth2 密钥(例如,显示为 ******,并在必要时提供显示选项)?
-
是否有推荐的方法或插件来增强 Discourse 部署中敏感凭证的保护?
-
此问题以前是否讨论过?在官方修复之前是否有任何变通方法?
感谢您关注这个重要的安全问题!