Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain valid gRPC credentials
-
DeliverySend authenticated request to protected method
-
ExploitTrigger authorization failure on server
-
InstallSend unauthenticated request to same service thread
-
C2Inherit authenticated identity
-
ExecuteAccess protected resource
-
ImpactExtract sensitive data or modify state
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Component isolation
|
| Exploitation Conditions | Exploitation requires three concrete conditions: (1) the application must use Spring gRPC 1.0.0 through 1.0.2; (2) the gRPC service must accept both authenticated requests (to populate ThreadLocal identity) and unauthenticated requests (to inherit it), typically in services that expose public and private endpoints; (3) the attacker must already possess valid credentials to trigger the initial access-denied condition and must be able to send a follow-up unauthenticated request to the same worker thread before context cleanup occurs. This limits exploitation to services with mixed authentication models. Systems using Spring gRPC only for authenticated-only endpoints, or only for unauthenticated endpoints, are not vulnerable. Default Spring gRPC configurations without explicit mixed-auth design are less likely to be vulnerable. |
| Impact | CVSS 4.3 (AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N) indicates moderate but not critical severity with two significant constraints: the attacker must already be authenticated (PR:L), and attack complexity is high (AC:H), likely due to the requirement to trigger the exact thread reuse timing window. The vulnerability requires precise coordination - an attacker must first make an authenticated request that is denied, then immediately send an unauthenticated request to the same worker thread before context cleanup. No EPSS score or KEV status provided; absence of active exploitation reporting combined with AC:H suggests this is a real vulnerability with limited practical exploitation likelihood. The scope being unchanged (S:U) indicates no ability to impact other security domains. Defenders should prioritize patching systems where gRPC services handle both authenticated and unauthenticated requests, but this does not represent immediate critical risk compared to unauthenticated remote execution vulnerabilities. |
| Exploit ScenarioDerived | An attacker with valid credentials makes an authenticated gRPC call to a protected method, triggering a server-side access denial that fails to clear the authentication context. The attacker immediately sends a second unauthenticated request to the same gRPC service, exploiting the fact that the worker thread still holds the previous user's identity. The unauthenticated request is processed with inherited permissions, allowing the attacker to read or modify data they should not have access to. Success requires millisecond-level timing precision and knowledge of thread pool behavior. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 28, 2026
Spring gRPC 1.0.0 through 1.0.2 inherits authenticated user identity on gRPC worker threads after access denial, allowing a subsequent unauthenticated request on the same thread to gain escalated permissions. The vulnerability requires an authenticated attacker with prior knowledge of thread reuse patterns and affects only configurations where both authenticated and unauthenticated requests share gRPC worker threads. A patch is available in version 1.0.3.
RemediationAI
Upgrade Spring gRPC to version 1.0.3 or later; this is the vendor-released patch that restores proper context cleanup on worker threads. For systems unable to upgrade immediately, implement explicit authentication context validation at the start of every gRPC handler method, using Spring Security's @PreAuthorize or custom SecurityContext checks to verify the authenticated principal matches the current request's credentials rather than relying on ThreadLocal state. Additionally, consider configuring gRPC worker thread pools to terminate and recreate threads after each request (rather than reusing them) by setting appropriate thread pool lifecycle policies, though this carries a performance trade-off. Monitor application logs for authentication mismatch errors that may indicate exploitation attempts. Do not rely on request filtering alone; the vulnerability is in the framework's thread management.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in maven, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Spring gRPC implements remote procedure call (RPC) handlers using Java worker threads. When a gRPC method denies access to an authenticated user, the vulnerability lies in insufficient context cleanup (CWE-653: Missing Zero-Byte Check Before Using Data) where the authenticated identity object remains bound to the ThreadLocal storage of the worker thread. Subsequent unauthenticated requests routed to the same thread inherit this identity without re-validation, bypassing authorization checks. The affected CPE is cpe:2.3:a:spring:spring_grpc:*:*:*:*:*:*:*:*, indicating all Spring gRPC packages with versions below 1.0.3 are susceptible.
Know when Spring gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
Lifecycle Timeline
6DescriptionNVD
When an authenticated user is denied access to a gRPC method, their authenticated identity remains bound to the gRPC worker thread and can be inherited by a subsequent unauthenticated request on the same thread. This may allow the subsequent user to gain escalated permissions.
Affected versions: Spring gRPC: 1.0.0 - 1.0.2 (fixed in 1.0.3). Older, unsupported versions are also affected.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
Access control bypass in SpringBlade v4.5.0 importUser function allows low-privileged users to import sensitive user dat
Spring Cloud Config Server contains a path traversal vulnerability when using the native file system backend, allowing u
Spring Framework MVC applications can be vulnerable to a “Path Traversal Vulnerability” when deployed on a non-compliant
SpringBlade v4.5.0 has an access control flaw in authRoutes allowing low-privileged users to escalate to admin through t
Remote code execution in Spring for GraphQL versions 1.3.0-1.3.8, 1.4.0-1.4.5, and 2.0.0-2.0.3 allows unauthenticated at
Server-Sent Events (SSE) stream corruption affects Spring MVC applications built on the functional web framework across
Spring AI versions 1.0.0 through 1.0.4 and 1.1.0 through 1.1.3 allow unauthenticated remote code execution through Sprin
Unsafe JSON deserialization in Spring Framework's JMS message converters (MappingJackson2MessageConverter and JacksonJso
Spring Security Aspects may not correctly locate method security annotations on private methods. Rated critical severity
Safety-guard bypass in the Spring Framework SpEL engine (VMware/Broadcom) lets attacker-controlled expression input esca
Directory traversal in Spring Cloud Config server module allows remote unauthenticated attackers to read arbitrary files
Spring Security fails to properly write HTTP response headers in servlet applications across multiple versions (5.7.0-5.
EUVD-2026-26054
NVD
CVE.org
EPSS
Vulnrichment
GitHub PoC
Exploit-DB