漏洞描述
Spring Vault 是一个与 HashiCorp Vault 集成的Spring框架模块,它提供了一种方便的方式来管理敏感数据,如数据库密码、API密钥和加密密钥等。Batch 令牌是 Vault 中进行身份验证的一种方法,客户端需要有效的令牌才能与 Vault 交互。
Spring Vault 受影响版本中,应用程序在尝试撤销 Vault Batch 令牌时容易将敏感信息插入到日志文件中。当应用程序满足以下所有条件时容易受到攻击:
1、通过认证机制创建 Batch 令牌;
2、在仅使用命令式编程的情况下使用 LifecycleAwareSessionManager;
3、LifecycleAwareSessionManager.destroy() 方法会被应用程序或应用程序关闭钩子函数调用;
4、LifecycleAwareSessionManager 或 org.springframework.vault.authentication 的日志记录级别至少应设置为 WARN;
5、令牌撤销失败,原因可能是以下两种情况之一:
(1) Vault 错误响应,Batch 令牌无法撤销;
(2) 程序发生I/O错误。
漏洞名称 | Spring Vault 敏感信息泄漏漏洞 |
---|---|
漏洞类型 | 信息暴露 |
发现时间 | 2023-03-22 |
漏洞影响广度 | 小 |
MPS编号 | MPS-2022-62831 |
CVE编号 | CVE-2023-20859 |
CNVD编号 | - |
影响范围
org.springframework.vault:spring-vault@[3.0.0, 3.0.2)
org.springframework.vault:spring-vault@[1.0.0.RELEASE, 2.3.3)
修复方案
升级org.springframework.vault:spring-vault到 2.3.3 或 3.0.2 更高版本
参考链接
https://www.oscs1024.com/hd/MPS-2022-62831
https://nvd.nist.gov/vuln/detail/CVE-2023-20859
https://github.com/spring-projects/spring-vault/issues/766
https://spring.io/security/cve-2023-20859
免费情报订阅&代码安全检测
OSCS是国内首个开源软件供应链安全社区,社区联合开发者帮助全球*开源项目解决安全问题,并提供实时的安全漏洞情报,同时提供专业的代码安全检测工具为开发者免费使用。社区开发者可以通过配置飞书、钉钉、企业微信机器人获取一手的情报。
免费代码安全检测工具: https://www.murphysec.com/?src=osc
免费情报订阅: https://www.oscs1024.com/cm/?src=osc
具体订阅方式详见: https://www.oscs1024.com/docs/vuln-warning/intro/?src=osc