用户希望我总结提供的网页截图中的漏洞关键信息。 我需要提取以下信息: 1. 漏洞概述:这是什么漏洞?为什么危险? 2. 影响范围:受影响的组件或功能是什么? 3. 修复方案:PR中做了什么修复? 4. POC/利用代码:如果有,必须提取。 分析截图内容: 标题: 作者: 状态: (已合并) 评论/描述部分 (yasnagat): 问题描述: SAML Single Logout (SLO) redirect functionality 存在漏洞,允许通过操纵重定向查询参数进行钓鱼攻击或凭证窃取。 原因: 函数直接使用了用户提供的重定向参数,未进行验证,允许攻击者构造恶意 URL(如 )。 修复内容: 验证重定向 URL 是否匹配配置的 IdP Single Logout Service endpoint。 实现 origin 和 pathname 匹配,确保重定向仅指向配置好的 IdP。 Issue(s): CodeRabbit 总结: Bug Fixes: 加强 SAML Single Logout (SLO) 重定向验证,阻止恶意或未经授权的 SLO 重定向 URL。 添加严格的存在性、格式和 URL 解析检查,重定向参数有清晰的错误响应(400/403/500)。 强制 origin 和规范化路径匹配,确保重定向仅指向配置好的 IdP;重定向现在使用验证后的 URL。 Changes 表格: 文件: 摘要: 签名更新以接受 。添加检查:需要配置 IdP SLO 重定向 (500),需要用户 参数 (400),parse/validate 两个 URL (400 on parse failures),enforce origin match and normalized pathname equality (403 on mismatch),set Location to the validated request URL。 整理输出: 漏洞概述: SAML Single Logout (SLO) 重定向功能存在漏洞,攻击者可以通过操纵重定向查询参数进行钓鱼攻击或凭证窃取。 影响范围: 涉及 函数,允许未经验证的重定向 URL 被处理。 修复方案: 1. 验证重定向 URL 是否匹配配置的 IdP Single Logout Service endpoint。 2. 实现 origin 和 pathname 匹配,确保重定向仅指向配置好的 IdP。 3. 添加严格的 URL 解析和存在性检查,返回清晰的错误响应(400/403/500)。 POC/利用代码: 截图描述中提到了攻击者可以构造的恶意 URL 示例: ,但这属于描述而非完整的 POC 代码块。没有提供完整的利用脚本代码块。 最终检查: 是否简洁?是。 是否包含关键信息?是。 是否提取了代码块?截图主要是文本描述,没有完整的 POC 代码块,只有一段描述性的 URL 示例。我会把这段 URL 作为示例提及。 修正: 仔细看截图, 表格里的摘要部分其实描述了攻击者利用的逻辑(如果不加验证,就会直接处理)。 攻击者构造的 URL 示例在 的评论里: 好的,开始撰写。 漏洞关键信息总结 漏洞概述 SAML Single Logout (SLO) 重定向功能存在漏洞。由于 函数直接使用了用户提供的重定向参数而未进行验证,攻击者可以通过操纵重定向查询参数进行钓鱼攻击或凭证窃取。 影响范围 受影响组件: 中的 函数。 漏洞类型: 重定向验证缺失(允许重定向到任意外部 URL)。 相关 Issue: VULN-153, VULN-165。 修复方案 1. 验证重定向 URL: 验证重定向 URL 是否匹配配置的 IdP Single Logout Service endpoint。 2. 强制匹配: 实现 origin 和 pathname 匹配,确保重定向仅指向配置好的 IdP,重定向现在使用验证后的 URL。 3. 严格检查: 添加严格的存在性、格式和 URL 解析检查。如果解析失败或匹配不匹配,返回清晰的错误响应(400/403/500)。 利用示例 (描述) 攻击者可以构造如下形式的恶意 URL 来利用此漏洞: