关键漏洞信息 漏洞概述 漏洞名称: Smidge中的任意文件创建漏洞 受影响模块: Smidge - 一个用于运行时CSS和JavaScript文件管理、最小化、组合和压缩的轻量级库 背景 下载量: 在NuGet上有超过10M次下载 集成情况: 集成在一些CMS中,如Umbraco版本10.11、12和13 潜在风险: 可用于任意文件创建,可能导致枚举Web服务器上的用户名、耗尽可用硬盘空间,影响可用性 细节 配置方式: 通过定义“bundles”来打包多个文件,指定包名和应包含的文件路径 请求参数: HTTP请求需要指定版本参数,响应HTTP状态码可判断文件夹是否存在 存储位置: 文件存储在 目录下 攻击手段: - 通过控制版本参数,可以控制文件存储位置,枚举用户(如C:\Users\) - 使用唯一版本字符串导致分配文件存储,最终耗尽可用存储 屏幕截图示例 1. 现有用户: 请求 返回500错误,提示 失败 2. 新用户: 请求 返回500错误,提示 失败 3. 写入用户文件夹: 请求 成功写入文件,响应代码200 影响版本 受影响版本: Up to 4.5.1 漏洞总结 任意文件创建 (CWE-22) 分配磁盘存储 (CWE-770) 推荐措施 输入验证: 对输入和版本参数进行清理