关键漏洞信息 漏洞概述 漏洞名称: Command Execution not Limited to Scope CVE ID: CVE-2020-52504 CVSS v3 基本指标: - 严重性: High (8.1/10) - 攻击向量: Network - 攻击复杂度: High - 所需权限: High - 用户交互: None - 范围: Changed - 机密性: High - 完整性: High - 可用性: High 影响 受影响版本: 2.32.0 修补版本: None 描述: 在Web应用程序中,所有用户都有一个指定的范围,并且只能访问该范围内的文件。Filebrowser的命令执行功能允许执行不受范围限制的shell命令,潜在地给予攻击者对服务器管理的所有文件的读取和写入访问权限。 漏洞描述 详细描述: 由用户创建并执行的shell命令作为应用程序的一个简单子进程,没有任何进一步的限制。这意味着它们具有对应用程序可访问的所有文件的完全访问权限。分配给每个帐户的范围未被考虑在内。 概念验证 示例: 使用 命令提取所有密码哈希。 推荐的对策 建议措施: 在此问题得到解决之前,建议为所有帐户完全禁用“Execute commands”权限。由于此命令执行功能是内在危险的功能,在所有部署中均未使用,因此应该可以在应用程序配置中完全禁用它。 方法: 1. 通过使用像Bubblewrap这样的工具来限制程序运行时的位置。 2. 重新设计命令执行功能,以便在各种范围内具有不同uid的文件作为所有者,并且所有shell命令都在用户的范围内执行。 时间线 2020-03-26: 在版本2.32.0中识别出漏洞。 2020-04-11: 联系项目。 2020-04-18: 向项目披露漏洞。 2020-06-25: 在项目的GitHub存储库上发布咨询。 2020-06-25: GitHub分配CVE ID。 2020-06-25: 推送补丁版本以禁用该功能,并使其成为可选功能。 参考资料 Sandboxing Applications with Bubblewrap: Securing a Basic Shell "Distroless" Container Images 致谢 Mathias Tausig (SBA Research)