Spring Security 近日披露了一个高危安全漏洞,编号为 CVE-2026-59270。该漏洞影响其内嵌的 UnboundID LDAP 服务器组件,远程攻击者可在无需任何身份验证的情况下,获取暴露在外的内存目录的管理员访问权限。
该漏洞源于 UnboundIdContainer 在将监听器绑定到所有可用网络接口时,会无条件创建一个管理员凭据。这一默认行为可能导致服务暴露在 localhost 之外,具体暴露范围取决于防火墙规则、容器网络配置、云安全组及网络策略。
漏洞影响范围
根据官方公告,该漏洞影响多个 Spring Security 版本,包括:
- 7.1.0、7.0.0 至 7.0.6
- 6.5.0 至 6.5.11、6.4.0 至 6.4.18
- 5.8.0 至 5.8.27、5.7.0 至 5.7.25
受影响的应用程序包括直接使用 Spring Security 的 UnboundIdContainer,或通过 Spring Boot 内嵌自动配置间接使用的场景。
攻击路径与潜在危害
攻击者只要能连接到暴露的端口,即可使用广为人知的管理员绑定专有名称进行身份验证。一旦认证成功,攻击者将获得内嵌目录的管理员级访问权限,能够读取、修改甚至删除存储在内存中的条目。
虽然该目录基于内存运行,但其中可能包含测试账号、认证属性、角色映射、应用配置值等敏感数据。攻击者可利用该漏洞枚举用户和组、篡改授权相关条目、注入恶意目录对象,或干扰依赖内嵌实例的应用程序运行。
在某些部署场景中,被篡改的目录记录还可能影响应用程序的授权决策,进而对连接的服务发起后续攻击。这一问题在开发、测试、CI/CD 及内部应用环境中尤为突出,因为这些场景常启用内嵌服务用于认证测试或目录驱动的应用功能。
官方修复方案
Spring 官方已发布修复版本,建议用户立即升级。开源修复版本包括 Spring Security 7.1.1 和 7.0.7。企业级支持的修复版本也已面向受影响维护分支发布,包括 6.5.12、6.4.19、5.8.28 和 5.7.26。
官方表示,升级后无需采取额外的缓解措施。但安全团队仍应核查监听端口是否通过主机网络、Kubernetes 服务、Ingress 规则、Docker 端口映射、防火墙配置或云网络控制暴露在公网。
组织可通过检查 UnboundIdContainer 或 spring.ldap.embedded.* 开头的 Spring Boot 属性来识别受影响的应用,并尽快完成版本升级,以降低被攻击的风险。
热门跟贴