漏洞概述 该漏洞涉及Discourse平台中SVG文件的处理问题。具体来说,内部DTD实体可能被用于注入脚本,导致潜在的安全风险。 影响范围 受影响组件: 、 、 、 影响功能:用户上传的SVG头像文件 修复方案 1. 代码修改: - 在 中,对SVG文件进行更严格的处理,确保其内容安全。 - 在 中,添加额外的头部信息,防止SVG文件被直接导航渲染。 - 在 中,清理SVG文件中的内部DTD实体。 - 在 中,增加测试用例,验证SVG文件的安全处理。 2. 具体代码修改: - app/controllers/user_avatars_controller.rb - config/nginx.sample.conf - lib/upload_creator.rb - spec/requests/user_avatars_controller_spec.rb POC代码