Spring spring

Spring中文网站 > Spring 框架安全 > CVE-2026-40968:Spring gRPC 在授权失败后可能跨请求泄露 SecurityContext
CVE-2026-40968:Spring gRPC 在授权失败后可能跨请求泄露 SecurityContext
发布时间:2026/05/13 09:49:57

 CVE-2026-40968:Spring gRPC 在授权失败后可能跨请求泄露 SecurityContext

 

中危 | 2026年4月28日 | CVE-2026-40968

 

描述

 

  当已认证用户访问某个 gRPC 方法被拒绝时,其已认证身份可能仍然绑定在 gRPC 工作线程上。如果后续有未经认证的请求复用了同一个线程,该请求就可能继承前一个用户遗留的安全上下文,从而获得本不应拥有的权限。

 

  该问题的核心风险在于 SecurityContext 未在授权失败后被正确清理。在基于线程池的服务处理中,请求线程会被反复复用。如果一次请求结束后,线程中的认证信息没有被及时移除,后续请求就可能受到影响。对于使用 Spring gRPC 构建内部服务、接口网关或微服务通信链路的系统来说,这类问题可能造成权限边界混乱,尤其是在接口存在认证与未认证请求混合访问的情况下,需要重点排查。

 

受影响的 Spring 产品和版本

 

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

 

  ● 1.0.0 - 1.0.2

 

  ● 更早且已停止支持的版本同样受到影响

 

缓解措施

 

  受影响版本的用户应升级到对应的修复版本。升级后,相关安全上下文处理逻辑会得到修正,降低跨请求继承身份信息的风险。

 

  不需要采取进一步的缓解步骤,不过在实际生产环境中,仍建议团队结合自身系统情况进行基础排查,尤其是已经开放 gRPC 接口、存在多租户访问、内部服务调用较多,或者同时处理认证与匿名请求的服务。

 

处理建议

 

  建议开发和运维团队先确认项目中是否使用 Spring gRPC,并检查当前依赖版本是否处于 1.0.0 到 1.0.2 范围内。如果命中受影响版本,应优先升级到 1.0.3,并在测试环境中回归验证认证失败、权限拒绝、匿名访问和正常认证访问等场景。

 

  同时,可以检查服务日志中是否存在异常的权限提升、非预期访问成功、授权失败后紧接着出现的异常请求等迹象。对于涉及敏感业务接口的 gRPC 服务,建议补充权限校验测试,确保每个请求都基于自身身份进行鉴权,而不是受到线程复用或历史请求状态影响。

180 1563 6924