Spring spring

Spring中文网站 > Spring 框架安全 > CVE-2026-40975:随机值属性源使用不适合密钥场景的弱 PRNG
CVE-2026-40975:随机值属性源使用不适合密钥场景的弱 PRNG
发布时间:2026/05/21 09:51:51

CVE-2026-40975:随机值属性源使用不适合密钥场景的弱 PRNG

 

中危 | 2026年4月23日 | CVE-2026-40975

 

 

描述

 

  由 ${random.value} 生成的值不适合用作密钥。${random.uuid} 不受该问题影响。${random.int} 和 ${random.long} 不应被用于密钥场景,因为它们属于数值型随机值,取值范围具有可预测性。

 

  该问题的风险集中在“把随机配置值误当作安全密钥使用”的场景中。随机值属性源通常可用于生成临时标识、测试数据、端口相关配置或普通随机参数,但不应承担密码学意义上的密钥生成职责。如果应用将这些值用于访问令牌、签名密钥、加密密钥、会话密钥或其他安全敏感配置,攻击者可能更容易通过预测、枚举或其他方式缩小密钥空间。

 

  对于生产环境而言,密钥应来自专门的密钥管理系统、安全随机数生成机制或受控配置源,而不应依赖普通随机属性。尤其是在多实例部署、自动化发布和配置模板复用场景中,应避免将 ${random.value}、${random.int}、${random.long} 作为安全边界的一部分。

 

受影响的 Spring 产品和版本

 

  受影响产品为 Spring Boot,涉及以下版本:

  ● 4.0.0 - 4.0.5

  ● 3.5.0 - 3.5.13

  ● 3.4.0 - 3.4.15

  ● 3.3.0 - 3.3.18

  ● 2.7.0 - 2.7.32

 

  已停止支持的版本同样受到影响。

 

缓解措施

 

  受影响版本的用户应升级到对应的修复版本。升级后,相关随机值属性源的安全行为会得到修正或明确处理,降低开发者将不适合的随机值误用于密钥场景的风险。

 

 

  无需采取额外缓解措施。建议受影响用户尽快升级至对应修复版本,并在升级后检查应用配置与启动流程是否正常。

 

处理建议

 

  建议先排查配置文件、环境变量、部署模板和代码中是否存在 ${random.value}、${random.int}、${random.long} 被用于密钥或令牌配置的情况。常见位置包括 JWT 签名密钥、Cookie 密钥、加密盐值、API 访问密钥、临时认证口令等。

 

  如果发现相关随机值已经用于敏感配置,应替换为专门生成并妥善保存的高强度密钥。对于已经上线运行的系统,应同步评估是否需要轮换旧密钥、重新生成令牌、清理历史会话或更新相关凭据。

 

  对于后续开发,应将普通随机配置值和安全密钥明确区分。安全密钥应由可信密钥管理方案生成和保存,并通过受控方式注入应用,避免在配置模板中临时生成后长期使用。

180 1563 6924