关键信息 漏洞概述 漏洞名称: Unrestricted File Upload and Path Traversal to Remote Code Execution in Airsonic Advanced 严重性: Medium CVE编号: CVE-2021-39867 CWE编号: CWE-434, CWE-22, CWE-506 影响范围 受影响组件: - Web UI: 'Upload playlist' function - Server: File handling for uploaded playlists and path resolution - Application server: Tomcat auto-deployment behavior for .war files 技术细节 根本原因: 缺乏对上传文件路径的验证和强化,导致未经授权的用户可以将文件上传到任意目录。 利用步骤: 1. 使用认证的Airsonic用户账户登录。 2. 导航至'Upload playlist'功能。 3. 上传一个包含恶意代码的.war文件。 4. Tomcat自动部署该.war文件,执行其中的恶意代码。 证据 截图显示了通过Web界面上传文件的过程,以及服务器接受并存储上传文件的日志记录。 终端截图展示了成功执行恶意代码的结果。 安全分析 根本原因: 缺乏对上传文件类型的验证和路径控制。 相关弱点: CWE-434, CWE-22, CWE-506 修复建议 短期缓解措施: - 阻止包含特定模式的路径。 - 禁用允许部署的应用程序类型。 - 禁用Tomcat的autoDeploy和deployOnStartup功能。 长期修复措施: - 在服务器端实施严格的文件类型验证、规范化和清理。 - 更新应用程序以使用更安全的配置选项。 时间线 2021-09-06: 初始发现 2021-09-08: 尝试联系供应商 2021-09-10: 公开披露 2021-09-14: 分配CVE编号