关键信息 漏洞描述 类型: 存储型XSS漏洞 原因: 由于对SVG文件的不当验证和清理,允许攻击者上传包含恶意JavaScript代码的SVG文件。 影响产品 产品: Emlog Pro 版本: 2.5.19 组件: Media Upload Functionality ( ) 技术细节 问题: 媒体上传组件允许SVG文件在没有适当验证或清理的情况下上传。 示例: 攻击者可以创建一个恶意SVG文件,其中包含JavaScript代码,当该文件被查看时会执行。 概念验证 (PoC) 步骤: 创建并上传一个包含恶意JavaScript代码的SVG文件。 结果: 当访问上传的SVG文件URL时,JavaScript代码会在浏览器上下文中执行。 漏洞代码分析 问题点: 1. 缺乏对SVG文件的有效验证。 2. 缺乏对潜在危险SVG元素和属性的清理。 3. SVG文件以允许脚本执行的MIME类型提供。 4. 缺乏内容安全策略(CSP)来限制上传媒体中的脚本执行。 影响 后果: 1. 执行任意JavaScript代码。 2. 窃取敏感信息(如会话cookie和身份验证令牌)。 3. 代表受害者执行操作。 4. 结合其他漏洞可能导致更严重的攻击。 修复建议 措施: 1. 实现适当的SVG文件验证和清理。 2. 删除潜在危险的SVG元素和属性。 3. 转换SVG文件为其他图像格式(如PNG)。 4. 实施内容安全策略(CSP)以防止内联脚本执行。 5. 使用阻止脚本执行的MIME类型保存上传的SVG文件。 时间线 2025-08-21: 漏洞发现。 2025-08-21: 文档和概念验证创建。 未来日期: 向供应商报告漏洞。 未来日期: CVE分配。