关键信息 受影响产品: Umbraco CMS v16.3.3 漏洞类型: 存储型跨站脚本攻击(Stored XSS),通过用户上传的PDF文件 总结: - 应用程序允许用户通过媒体上传功能上传包含嵌入JavaScript的PDF文件。当用户通过Umbraco界面访问上传的PDF时,嵌入的JavaScript会在浏览器中执行。 影响: - 在受害者浏览器中执行任意JavaScript - 潜在的会话劫持或未经授权的操作 - 敏感信息的暴露 - 在Umbraco CMS中滥用受信任的用户交互 技术描述: - PDF文件可以通过Umbraco CMS的媒体部分上传 - 上传的文件可以通过Umbraco界面生成的直接链接访问 - 应用程序不会对嵌入PDF文件中的JavaScript进行清理或限制 - 攻击者可以上传特制的包含可执行JavaScript的PDF文件 - 当受害者通过Umbraco打开PDF时,浏览器会执行嵌入的JavaScript 攻击场景: 1. 攻击者以允许上传媒体文件的账户登录Umbraco CMS 2. 攻击者通过媒体页面上传包含恶意JavaScript的特制PDF文件 3. PDF文件被存储并通过Umbraco生成的媒体URL访问 4. 受害者(管理员或其他用户)点击Umbraco界面中的PDF链接 5. 嵌入的JavaScript在受害者的浏览器中执行,导致存储型XSS条件 概念验证: - 一个示例恶意PDF文件(success_xss.pdf)通过媒体页面上传 - 当文件通过Umbraco访问时,JavaScript负载执行并触发警报对话框 复现步骤: 1. 登录Umbraco CMS 2. 导航到媒体部分 3. 上传包含嵌入JavaScript的特制PDF文件 4. 通过Umbraco生成的链接访问上传的PDF 5. 观察PDF中的JavaScript在浏览器中执行 注意事项: - 该问题是由浏览器对包含可执行JavaScript的PDF文件的渲染引起的