潜在资源耗尽:/uploads.json 无速率限制允许大量文件上传

问题描述

在我们定制化的 Discourse 部署的安全审查期间,我们发现了一个与文件上传 API 相关的潜在资源耗尽风险。

详细信息

  • 上传 API:/uploads.json

  • 问题:此端点上似乎没有速率限制。任何已认证的用户都可以快速上传大量文件。

  • 重现步骤:

    • 通过自动化请求,用户可以在短时间内发送数千个上传请求。

    • 我们已验证,在发送数千个上传请求后,存储目录中包含数千个文件。

安全/资源影响

  • 攻击者甚至普通用户都可以通过上传大量文件来耗尽服务器存储、降低性能或触发操作问题。

  • 这可能被滥用于拒绝服务攻击,或意外增加存储成本。

问题

  • Discourse 是否为 /uploads.json 端点提供了内置的速率限制或滥用防护?

  • 是否有推荐的设置或插件来限制用户的上传频率或每个用户的总存储使用量?

  • 有没有最佳实践可以防止 Discourse 部署中因文件上传而导致的资源耗尽?

感谢您的关注和建议!