Skip to main content

Spring Integration CVE-2026-59307

| EUVDEUVD-2026-67192 HIGH
Deserialization of Untrusted Data (CWE-502)
2026-08-27 vmware GHSA-7336-836q-wfv9
8.0
CVSS 3.1 · Vendor: vmware
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with operator-level credentials
  2. Delivery
    Craft malicious serialized Java payload using gadget chain
  3. Exploit
    Write payload to JDBC message store
  4. Execution
    Application retrieves and deserializes message
  5. Persist
    allowlist bypass allows unrestricted class instantiation
  6. Impact
    Execute gadget chain for remote code execution on host

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

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 be simultaneously true: first, the JdbcMessageStore must be declared as a Spring-managed bean (e.g., via @Bean or XML application context - not instantiated manually outside Spring's lifecycle); second, the operator must have explicitly called addAllowedPatterns() on that bean with the intent of restricting deserialization (this is the configuration state where the bypass activates and protection silently fails); third, the attacker must hold authenticated access sufficient to write data to the JDBC message store, consistent with the CVSS PR:H metric. Applications using JdbcMessageStore without any allowlist configuration are in an equivalently unprotected state but are not the scenario described by this CVE's bypass. Unauthenticated or low-privilege remote exploitation is not supported by the available CVSS data. The limiting factors for defenders are the operator-level authentication bar and the specific Spring-managed bean deployment mode required - environments using manually instantiated JdbcMessageStore or not using addAllowedPatterns() are outside the precise scope of this bypass.

Impact

The vendor-assigned CVSS 3.1 base score of 8.0 (AV:N/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H) correctly reflects full CIA impact when exploited, but the High attack complexity and High privilege requirement are the critical moderating factors for real-world risk. The High privilege requirement (PR:H) implies the attacker must already hold operator-level or equivalent authenticated access to inject data into the JDBC message store - this substantially limits opportunistic or unauthenticated exploitation. The Scope Change (S:C) and full C:H/I:H/A:H capture the well-established risk that Java deserialization gadget chains can escape the JVM application boundary and achieve host-level code execution. No EPSS score was available in the provided intelligence; no CISA KEV listing exists and no public exploit code has been identified, meaning exploitation probability is currently inferred from vulnerability class rather than observed activity. The primary realistic threat model is insider threat, compromised service accounts, or post-initial-access lateral movement scenarios rather than mass exploitation. This is a genuine priority for organizations actively using Spring-managed JdbcMessageStore with deserialization allowlists, but not a mass-exploitation-risk item at the time of this analysis.

Exploit ScenarioDerived

An authenticated operator or a compromised service account with write access to the Spring Integration JDBC message store submits a crafted serialized Java object built on a known deserialization gadget chain such as those targeting Apache Commons Collections. When the application subsequently retrieves and deserializes the stored message, the addAllowedPatterns() allowlist - which the operator configured to block malicious class instantiation - applies no filtering due to the bypass, allowing the gadget chain to execute arbitrary code on the host. No public proof-of-concept has been identified at time of analysis, so exploitation currently requires an attacker with both operator-level credentials and the capability to craft a deserialization payload.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Aug 27, 2026

JdbcMessageStore deserialization allowlist protection in Spring Integration silently fails when the store is configured as a Spring-managed bean, rendering the security control entirely ineffective. Operators who call addAllowedPatterns() to restrict which Java classes can be deserialized from the JDBC message store receive no actual protection - any class remains deserializable despite the configured allowlist - leaving applications exposed to unsafe Java deserialization attacks while operators believe they have hardened the component. Affected across Spring Integration 6.4.x through 7.1.0; no public exploit identified at time of analysis.

RemediationAI

Consult the vendor advisory at https://spring.io/security/cve-2026-59307 for confirmed patched release versions - specific fixed version numbers are not independently confirmed from the available input data and must be retrieved directly from VMware/Spring. As a compensating control prior to patching, do not rely on addAllowedPatterns() as the sole deserialization defense when using Spring-managed JdbcMessageStore beans; instead, restrict network and application-layer access to all endpoints or services that write messages to the JDBC store, limiting which principals can inject data for later deserialization. Enabling JVM-level serialization filtering via the jdk.serialFilter system property (or the java.security.properties file) provides a defense-in-depth layer that operates independently of the Spring allowlist and cannot be bypassed by this specific flaw, though it requires careful allowlist construction to avoid breaking legitimate application serialization. Temporarily replacing JdbcMessageStore with an alternative store type is also viable if patching timelines are constrained.

Affected VersionsENISA

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

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 provides enterprise integration patterns including durable message persistence via JdbcMessageStore, which serializes Java objects to and retrieves (deserializes) them from a relational database. The addAllowedPatterns() method is a deserialization safeguard: an allowlist of class-name patterns intended to restrict which Java types the deserializer may instantiate, mitigating the well-documented unsafe deserialization attack class. The flaw lies in the interaction between Spring's bean lifecycle management and this safeguard: when JdbcMessageStore is declared as a Spring-managed bean (via @Bean annotation or XML application context definition), the allowlist supplied to addAllowedPatterns() is not correctly applied during deserialization, so the store accepts any class regardless of the operator's configuration. The affected CPE is cpe:2.3:a:spring:spring_integration spanning versions 6.4.0-6.4.12, 6.5.0-6.5.10, 7.0.0-7.0.5, and 7.1.0. CWE classification is not yet assigned in the available data, but the root-cause class is consistent with CWE-502 (Deserialization of Untrusted Data) combined with a security-control bypass.

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 8.0 HIGH
AV:N/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H
vuln.today AI 8.0 HIGH

Consistent with vendor vector: Spring-managed bean configuration creates high-complexity precondition, operator-level auth required to write to the store, and scope change reflects deserialization RCE potentially escaping JVM to host.

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

Primary rating from Vendor (vmware).

CVSS VectorVendor: vmware

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

DescriptionCVE.org

An operator who calls JdbcMessageStore.addAllowedPatterns(...) to restrict deserialization receives no protection at all when the store is a Spring-managed bean. 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

Executive ViewAI

Why It Matters

Spring Integration's JDBC message store (versions 6.4.x-7.1.0) silently fails to enforce configured deserialization allowlists, exposing organizations to Java deserialization attacks while maintaining a false sense of security. No public exploit identified at time of analysis, but this silent control failure leaves any application using this component for message persistence vulnerable to arbitrary object deserialization.

Business Impact: High
Compensating Controls

Restrict network access to JDBC message stores; disable JDBC message store usage where alternative persistence options exist; implement monitoring for deserialization exceptions and suspicious class instantiation patterns; enforce strict input validation at application boundaries. No vendor-released patch identified at time of analysis.

Threat Intelligence Overview

EPSS Score
0.3%
Top 73% exploitable
Prevalence
Medium
popular enterprise Java integration framework, not universally deployed
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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.3%
Patch available No
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.

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