Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with operator-level credentials
-
DeliveryCraft malicious serialized Java payload using gadget chain
-
ExploitWrite payload to JDBC message store
-
ExecutionApplication retrieves and deserializes message
-
Persistallowlist bypass allows unrestricted class instantiation
-
ImpactExecute 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
AV:N/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H
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.
Primary rating from Vendor (vmware).
CVSS VectorVendor: vmware
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
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.
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
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
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.
Spring Cloud Gateway Server Webflux may be vulnerable to Spring Environment property modification. Rated critical severi
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
EUVD-2026-67192
GHSA-7336-836q-wfv9
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB