Spring安全公告

CVE-2023-20859:令牌吊销失败导致敏感信息插入日志

中等 | 2023年3月20日 | CVE-2023-20859

描述

在Spring Vault 3.0.x(早于3.0.2版本)和2.3.x(早于2.3.3版本)以及更旧版本中,当应用程序尝试吊销Vault批量令牌时,存在将敏感信息插入日志文件的漏洞。

具体来说,当满足以下所有条件时,应用程序存在漏洞:

  • 身份验证机制创建批量令牌。
  • 仅在命令式环境中使用LifecycleAwareSessionManager
  • 应用程序或应用程序关闭钩子调用LifecycleAwareSessionManager.destroy()
  • LifecycleAwareSessionManagerorg.springframework.vault.authentication的日志级别至少设置为WARN或更详细的日志级别。
  • 令牌吊销失败是因为:
    • Vault错误响应,指示批量令牌无法吊销。
    • 发生I/O错误。

如果满足以下任何条件,则应用程序不会存在漏洞:

  • 应用程序在混合反应式/命令式或纯反应式环境中使用ReactiveSessionManager
  • 应用程序或应用程序关闭钩子从未调用LifecycleAwareSessionManager.destroy()
  • LifecycleAwareSessionManagerorg.springframework.vault.authentication的日志级别设置为ERROR或更高,例如OFF
  • 身份验证机制创建服务令牌。

受影响的Spring产品和版本

  • Spring Vault
    • 3.0.0 至 3.0.1
    • 2.3.0 至 2.3.2 和更旧版本
  • Spring Cloud Vault
    • 4.0.0
    • 3.1.0 至 3.1.2 和更旧版本
  • Spring Cloud Config
    • 4.0.0 至 4.0.1
    • 3.1.0 至 3.1.6 和更旧版本

缓解措施

受影响版本的使用者应采取以下缓解措施。

  • Spring Vault 3.0.x 用户应升级到 3.0.2。当以传递方式使用 Spring Vault 时,请将 spring-vault-core 的依赖版本锁定为 3.0.2
  • Spring Vault 2.3.x 用户应升级到 2.3.3。当以传递方式使用 Spring Vault 时,请将 spring-vault-core 的依赖版本锁定为 2.3.3
  • 所有其他用户应使用服务令牌,或将org.springframework.vault.authentication.LifecycleAwareSessionManager 记录器的日志级别提高到至少ERROR

无需其他步骤。

已修复此问题的版本包括:

  • Spring Vault
    • 3.0.2
    • 2.3.3

致谢

此问题由 Martin Kiesel 发现并负责任地报告。

参考资料

历史记录

  • 2023-03-20:发布初始漏洞报告。

抢先一步

VMware 提供培训和认证,以加快您的进度。

了解更多

获取支持

Tanzu Spring在一个简单的订阅中提供对OpenJDK™、Spring和Apache Tomcat®的支持和二进制文件。

了解更多

即将举行的活动

查看Spring社区中所有即将举行的活动。

查看全部