Skip to main content

Spring gRPC EUVDEUVD-2026-26054

| CVE-2026-40968 HIGH
Improper Isolation or Compartmentalization (CWE-653)
2026-04-28 vmware
8.8
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Obtain valid gRPC credentials
  2. Delivery
    Send authenticated request to protected method
  3. Exploit
    Trigger authorization failure on server
  4. Install
    Send unauthenticated request to same service thread
  5. C2
    Inherit authenticated identity
  6. Execute
    Access protected resource
  7. Impact
    Extract 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Spring gRPC 1.0.0 <1.0.3

Affected Packages

maven org.springframework.grpc:spring-grpc fix: 1.0.3
euvd spring_grpc fix: 1.0.3

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

NVD PRIMARY 8.8 HIGH
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

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

6
Severity Changed
Oct 26, 2026 - 20:22 NVD
MEDIUM HIGH
CVSS changed
Oct 26, 2026 - 20:22 NVD
4.2 (MEDIUM) 8.8 (HIGH)
Patch released
Apr 30, 2026 - 13:32 nvd
Patch available
Patch available
Apr 28, 2026 - 16:02 EUVD
CVSS changed
Apr 28, 2026 - 15:22 NVD
4.3 (MEDIUM) 4.2 (MEDIUM)
CVE Published
Apr 28, 2026 - 13:42 nvd
MEDIUM 4.2

DescriptionNVD

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

EPSS Score
0.0%
Top 94% exploitable
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

More in Spring

View all
CVE-2025-70982 CRITICAL POC
9.9 Jan 26

Access control bypass in SpringBlade v4.5.0 importUser function allows low-privileged users to import sensitive user dat

CVE-2026-22739 HIGH POC
8.6 Mar 24

Spring Cloud Config Server contains a path traversal vulnerability when using the native file system backend, allowing u

CVE-2025-41242 MEDIUM POC
5.9 Aug 18

Spring Framework MVC applications can be vulnerable to a “Path Traversal Vulnerability” when deployed on a non-compliant

CVE-2025-70983 CRITICAL
9.9 Jan 23

SpringBlade v4.5.0 has an access control flaw in authRoutes allowing low-privileged users to escalate to admin through t

CVE-2026-41699 CRITICAL
9.8 Jun 11

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

CVE-2026-59313 CRITICAL
9.8 Aug 27

Server-Sent Events (SSE) stream corruption affects Spring MVC applications built on the functional web framework across

CVE-2026-22738 CRITICAL
9.8 Mar 27

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

CVE-2026-41855 CRITICAL
9.8 Jun 09

Unsafe JSON deserialization in Spring Framework's JMS message converters (MappingJackson2MessageConverter and JacksonJso

CVE-2025-41232 CRITICAL
9.1 May 21

Spring Security Aspects may not correctly locate method security annotations on private methods. Rated critical severity

CVE-2026-59283 CRITICAL
9.1 Aug 27

Safety-guard bypass in the Spring Framework SpEL engine (VMware/Broadcom) lets attacker-controlled expression input esca

CVE-2026-40982 CRITICAL
9.1 May 07

Directory traversal in Spring Cloud Config server module allows remote unauthenticated attackers to read arbitrary files

CVE-2026-22732 CRITICAL POC
9.1 Mar 19

Spring Security fails to properly write HTTP response headers in servlet applications across multiple versions (5.7.0-5.

References

Advisories & patches

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy