![登录提示]()
已经发现了一个关键的Samlify身份验证旁路漏洞,该漏洞允许攻击者通过向合法签名的SAML响应注入未签名的恶意断言来冒充管理员用户。
Samlify是一个高级身份验证库,可帮助开发人员将SAML SSO和Single Loot-Out(SLO)集成到Node.js应用程序中。它是使用SAML构建或连接到身份提供商(IdP)和服务提供商(SP)的流行工具。
该库被SaaS平台,为内部工具实施SSO的组织,与Azure AD或Okta等企业身份提供商集成的开发人员以及联合身份管理场景中使用。它非常受欢迎,每周在npm上下载量超过20万次。
该缺陷,跟踪为CVE-2025-47949,是一个关键(CVSS v4.0得分:9.9)签名包装缺陷,影响2.10.0之前所有版本的Samlify。
正如EndorLabs在报告中解释的那样,Samlify正确验证了提供用户身份的XML文档已签名。尽管如此,它还是会从XML的一部分中读取虚假的断言。
通过拦截或通过公共元数据持有有效签名的 SAML 响应的攻击者可以对其进行修改,以利用库中的解析漏洞并作为其他人进行身份验证。
攻击者会获取这个合法签名的 XML 文档并对其进行操作。他们在文档中插入第二个恶意的SAML断言,“EndorLabs解释道。
“此恶意断言包含目标用户的身份(例如,管理员的用户名)。
“关键部分是原始文档中的有效签名仍然适用于XML结构的良性部分,但SP的易受攻击的解析逻辑将无意中处理未签名的恶意断言。
这是一个完整的 SSO 旁路,允许未经授权的远程攻击者执行权限升级并作为管理员登录。
攻击者不需要用户交互或特权,唯一的要求是访问有效签名的 XML blob,这使得利用相对简单。
为了降低风险,建议用户升级到本月早些时候发布的Samlify版本2.10.0。
请注意,GitHub仍然提供2.9.1作为最新版本,npm hosts但npm在编写时托管安全使用的2.10.0。
目前还没有关于在野外积极利用CVE-2025-47949的报告,但建议受影响的用户立即采取行动并保护他们的环境。
发表评论
您还未登录,请先登录。
登录