ZCyberNews
English
漏洞高危5 分钟阅读
CVE-2026-44671

ZITADEL LDAP 过滤器注入 CVE-2026-44671 允许未认证访问

CVE-2026-44671 (CVSS 7.5): ZITADEL 身份平台未能在 LDAP 过滤器中转义用户名,允许未认证攻击者在登录期间注入任意过滤器逻辑。

ZITADEL LDAP 过滤器注入 CVE-2026-44671 允许未认证访问

执行摘要

开源身份和访问管理平台ZITADEL中存在一个未经认证的LDAP过滤器注入漏洞,允许攻击者在登录过程中操纵LDAP搜索查询。该漏洞被追踪为CVE-2026-44671,CVSS得分为7.5(高),问题源于平台未能在将用户提供的用户名插值到LDAP搜索过滤器之前进行转义。攻击者可以注入任意LDAP过滤器语法——包括通配符——绕过认证或枚举有效用户条目。受影响的是所有运行版本2.71.11至3.4.10的ZITADEL部署,以及任何4.x版本在4.15.0之前的发布。根据项目的GitHub发布说明,维护者在2026-05-14发布了3.4.10和4.15.0版本的修复。

技术分析

ZITADEL支持LDAP作为外部身份提供者,允许组织对现有的目录服务(如Microsoft Active Directory或OpenLDAP)进行用户认证。漏洞存在于LDAP身份提供者实现中,具体在于平台构建用于查找认证用户的搜索过滤器的方式。

当用户尝试通过LDAP身份提供者登录时,ZITADEL获取提交的用户名,并直接将其嵌入到LDAP搜索过滤器中,而没有进行适当的清理或转义。根据ZITADEL团队发布的咨询,过滤器是通过连接一个静态前缀——通常是(&(objectClass=person)(uid=——与原始用户名字符串,后跟一个闭合的括号构建的。攻击者可以提供包含LDAP过滤器元字符(如*|&!)的用户名,以改变过滤器的逻辑。

例如,提交用户名*)(uid=*))(|(uid=*会关闭现有的过滤器,并注入一个新的析取,匹配目录中的任何用户条目。这实际上绕过了认证,因为修改后的过滤器返回第一个匹配的记录,无论攻击者是否知道实际的用户名或密码。相同的注入向量可以用来执行盲LDAP枚举,通过观察登录响应时间或错误消息的差异,揭示特定用户账户的存在。

该漏洞无需任何事先认证即可被利用——注入发生在登录提示之前,任何密码验证发生之前。CVSS 7.5的评级反映了低攻击复杂性(不需要特殊权限或用户交互)和对机密性和完整性的高潜在影响,尽管可用性没有直接受到影响。

ZITADEL团队感谢一位外部安全研究员(姓名未公开)通过项目的责任披露流程报告了这个问题。修复引入了使用标准LDAP转义函数对LDAP过滤器特殊字符进行适当转义,该函数在将用户名纳入过滤器字符串之前,为()*\NUL等字符添加反斜杠。

缓解措施与建议

运行带有LDAP身份提供者的ZITADEL的组织应立即升级到3.4.10或4.15.0版本。对于不能立即升级的部署,管理员可以通过禁用ZITADEL中的LDAP身份提供者,并切换到其他认证方法(如OIDC或SAML,如果可用)来临时缓解风险。此外,限制ZITADEL服务器的出站LDAP流量仅到受信任的目录服务器的网络级限制可以减少成功注入的影响范围,尽管它们不能阻止漏洞被触发。

订阅更新

将最新的网络安全资讯直接发送到您的邮箱。

标签:#zitadel#ldap-injection#cve-2026-44671#identity-management#authentication-bypass

相关文章