Skip to main content

Spring Integration EUVDEUVD-2026-67202

| CVE-2026-59321 MEDIUM
Race Condition (CWE-362)
2026-08-27 vmware GHSA-jwww-wmvq-qm8j
5.4
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to integration endpoint
  2. Delivery
    Submit concurrent messages to script-backed channel
  3. Exploit
    Race condition triggers shared ScriptEngine corruption
  4. Execution
    Cross-message payload/header bindings leak into script evaluation
  5. Impact
    Sensitive data from another message's context disclosed

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Concurrency control, locking
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires three specific conditions to hold simultaneously: (1) the target Spring Integration application must be configured with at least one channel that uses script-backed message processing via the JSR-223 ScriptEngine API; (2) the script engine in use must declare THREADING=null - the Kotlin KTS engine is the named example, but any JSR-223 engine without thread-safety guarantees qualifies; and (3) the channel must receive concurrent messages, meaning multiple threads must process messages simultaneously through the same channel instance. PR:L in the CVSS vector indicates that sending messages to the channel requires low-privilege authenticated access, not unauthenticated exploitation. AC:H reflects the timing-dependent nature of the race - the condition cannot be deterministically triggered and depends on concurrent scheduling. Deployments not using script-backed channels, using only THREADING=MULTITHREADED or STATELESS engines, or running integration channels on single-threaded executors are not exploitable.

Impact

The CVSS 3.1 vector AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N scores 4.2 (Medium), and the signal breakdown is internally consistent. AV:N is warranted because Spring Integration channels are typically triggered by network-delivered messages (HTTP, JMS, AMQP, etc.). AC:H correctly reflects that exploiting this race condition requires precise concurrent timing - low-throughput or single-threaded deployments are practically unexploitable. PR:L is appropriate since sending messages to an integration channel generally requires at least application-level credentials or channel access. The C:L/I:L impact reflects partial cross-message data leakage rather than full data exfiltration or system compromise. No EPSS score was provided in the input, so exploitation probability cannot be quantified. No CISA KEV listing and no public exploit code exists, indicating this remains a theoretical but credible risk rather than an actively weaponized threat. Real-world priority is elevated for multi-tenant Spring Integration deployments processing sensitive data (PII, credentials, financial records) over script-backed channels under concurrent load - in those environments the confidentiality impact is more severe than the base score suggests. Deployments that do not use script-backed channels, or that use only thread-safe script engines, are entirely unaffected.

Exploit ScenarioDerived

An attacker or malicious internal user with channel access sends a high volume of concurrent messages to a Spring Integration channel backed by the Kotlin KTS engine. Under concurrent load, a race between two threads causes Thread A's message payload bindings to overwrite Thread B's ScriptEngine context mid-evaluation, resulting in Thread B's script executing with Thread A's payload or header values - exposing potentially sensitive data from one user's message to another's processing context. No public exploit code exists, but the condition is reproducible through standard concurrent load generation against a vulnerable integration endpoint.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Aug 27, 2026

Concurrent message processing in Spring Integration's script-backed channels causes shared ScriptEngine state corruption when using JSR-223 engines that declare THREADING=null, such as the Kotlin KTS engine. Affected Spring Integration versions from 5.5.21 and earlier through 7.1.0 are susceptible to cross-message data leakage, where one message's payload or header bindings can bleed into another message's script evaluation context under concurrent load. No public exploit has been identified at time of analysis, and the CVSS 4.2 Medium rating reflects the high attack complexity imposed by the required race condition, though the information disclosure and partial integrity impact are real concerns in multi-tenant or high-throughput deployments.

RemediationAI

Consult the vendor advisory at https://spring.io/security/cve-2026-59321 for exact patched version numbers - specific fix versions are not independently confirmed from the data provided and should not be inferred. The primary fix is expected to involve per-thread ScriptEngine instantiation or synchronization on the shared instance for engines that declare THREADING=null. As an immediate compensating control, replace non-thread-safe JSR-223 engines (such as Kotlin KTS, which reports THREADING=null) with thread-safe alternatives where available - engines declaring THREADING=MULTITHREADED or STATELESS are not affected by this race. Where script engine replacement is not feasible, restrict script-backed channels to single-threaded execution by configuring a dedicated single-threaded task executor for the channel's message dispatcher, which eliminates concurrency at the cost of reduced throughput. Avoid using script-backed channels to process messages containing sensitive cross-tenant data until patched, as the integrity of binding isolation between concurrent messages cannot be guaranteed.

Affected VersionsENISA

Spring Integration 7.0.0 ≤7.0.5
Spring Integration 6.4.0 ≤6.4.12
Spring Integration 6.5.0 ≤6.5.10
Spring Integration 7.1.0
Spring Integration 0 ≤5.5.21

Affected Packages

euvd spring_integration no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Spring Integration is a widely-used Java framework extension implementing enterprise integration patterns (EIP) from the Spring ecosystem, maintained by VMware/Broadcom. Script-backed channels allow message processing logic to be defined using JSR-223 compliant scripting engines - a Java standard API for embedding scripting languages. The JSR-223 specification defines a THREADING attribute that advertises thread-safety guarantees: engines returning THREADING=null explicitly declare they are NOT thread-safe. The Kotlin KTS engine is a prominent example. The defect is that a single ScriptEngine instance is shared across all concurrent message processing threads on a given channel, violating the engine's threading contract. When multiple threads simultaneously invoke eval() on the same non-thread-safe engine, internal bindings (the variable scope associating message payload and headers with script variables) become corrupted across thread boundaries - a race condition in shared mutable state. CWE is listed as N/A by the submitter, but this maps most accurately to CWE-362 (Concurrent Execution Using Shared Resource with Improper Synchronization) or CWE-667 (Improper Locking). Affected CPE: cpe:2.3:a:spring:spring_integration:*:*:*:*:*:*:*:*.

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

Vendor (vmware) PRIMARY MEDIUM
NVD 5.4 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
vuln.today AI 4.2 MEDIUM

Network vector as channels are typically message-driven over network protocols; AC:H for mandatory concurrent timing; PR:L for required channel send access; C:L/I:L for partial cross-message data leakage with no availability impact.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:H/AT:P/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (vmware).

CVSS VectorNVD

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

Lifecycle Timeline

1
CVSS changed
Aug 31, 2026 - 17:37 NVD
4.2 (MEDIUM) 5.4 (MEDIUM)

DescriptionNVD

A single ScriptEngine instance is reused for every message on a script-backed channel. For JSR-223 engines that report THREADING=null (not thread-safe, e.g. the Kotlin kts engine), concurrent message processing can corrupt engine-internal state, potentially leaking one message's payload/headers bindings into another message's script evaluation or throwing spurious exceptions. Spring Integration 7.1.0 Spring Integration 7.0.0 - 7.0.5 Spring Integration 6.5.0 - 6.5.10 Spring Integration 6.4.0 - 6.4.12 Spring Integration 5.5.21 and earlier

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Medium
widely used in Java enterprise messaging and integration projects
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Race conditions occur when multiple concurrent requests exploit the brief time gap between checking a condition and acting upon it (TOCTOU - Time of Check, Time of Use).

More in Spring

View all
CVE-2025-41243 CRITICAL POC
10.0 Sep 16

Spring Cloud Gateway Server Webflux may be vulnerable to Spring Environment property modification. Rated critical severi

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

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