CVE-2026-40968Spring gRPC 在处理已认证用户的 gRPC 方法访问拒绝请求时存在安全漏洞。当已认证用户被拒绝访问后,其身份信息仍绑定在 gRPC 工作线程上。如果该线程后续处理未认证的请求,该请求会继承之前的身份信息,导致未认证用户获得过高的权限,造成权限提升风险。
该漏洞源于 Spring gRPC 在处理请求上下文时的线程安全问题。在 gRPC 服务模型中,工作线程通常会被重用。当一个已认证用户请求访问受保护的 gRPC 方法被拒绝(例如权限不足)时,框架应当清理当前线程的安全上下文。然而,受影响版本未能正确执行此清理操作,导致用户的认证身份信息仍残留在线程的 ThreadLocal 或类似存储中。攻击者可以通过发送大量未认证请求与之竞争,利用线程复用机制,使自己的请求恰好落在已清理失败的线程上。由于框架认为该线程仍持有合法身份,攻击者便能够继承前一个用户的权限,执行未经授权的操作。