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 社区所有即将举行的活动。

查看所有