CVE-2026-41699: Spring for GraphQL Deserialization RCE Vulnerability
Spring for GraphQL applications that use pagination features are vulnerable to a deserialization attack that can allow remote code execution. An attacker sends a specially crafted GraphQL query to a paginated endpoint; if the application's runtime environment contains certain gadget classes, the attack can execute arbitrary code on the server. The vulnerability affects Spring for GraphQL versions 1.3.0–1.3.8, 1.4.0–1.4.5, and 2.0.0–2.0.3.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 8.1 HIGH · CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weaknesses (CWE)
- CWE-502
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-06-11 / 2026-07-17
NVD description (verbatim)
Spring for GraphQL applications are vulnerable to Unsafe Deserialization when processing paginated GraphQL queries. An attacker can craft a malicious GraphQL request that can lead to Remote Code Execution when the application exposes a paginated (Connection) field and the classpath contains specific classes that can be leveraged during deserialization. Affected versions: Spring for GraphQL 2.0.0 through 2.0.3; 1.4.0 through 1.4.5; 1.3.0 through 1.3.8.
1 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-41699 is an unsafe deserialization vulnerability (CWE-502) in Spring for GraphQL triggered during processing of paginated GraphQL queries. The vulnerability allows unauthenticated remote attackers to achieve remote code execution by crafting a malicious request that exploits the deserialization of untrusted data within Connection (pagination) fields. Exploitation requires two conditions: the application must expose a paginated field, and specific exploitable classes must be present on the classpath (commonly found in Java applications that include certain libraries for XML processing, logging, or object serialization). The CVSS 3.1 score of 8.1 (HIGH) reflects high confidentiality, integrity, and authenticity impact, though it notes high attack complexity, likely due to the gadget class requirement.
Business impact
A successful exploit results in complete compromise of the affected application server, including theft of sensitive data, unauthorized code execution, lateral movement within the network, and potential disruption of service. Organizations running Spring for GraphQL in production without immediate patching face elevated risk of data breaches and operational disruption. The attack requires no authentication and can be triggered remotely over the network, making it exploitable from the internet if the GraphQL endpoint is exposed.
Affected systems
VMware Spring for GraphQL versions 1.3.0 through 1.3.8, 1.4.0 through 1.4.5, and 2.0.0 through 2.0.3 are affected. Organizations should identify all applications using Spring for GraphQL in these version ranges. The vulnerability manifests only when applications expose paginated (Connection) fields in their GraphQL schema, so review GraphQL type definitions to determine exposure.
Exploitability
The vulnerability is remotely exploitable without authentication and with high attack complexity. While an attacker must craft a request that exploits deserialization gadget chains (requiring knowledge of the classpath composition), the attack surface is broad: any paginated GraphQL field is a potential vector. The vulnerability has not been listed in CISA's Known Exploited Vulnerabilities (KEV) catalog as of the source data date, but the technical nature suggests it will attract researcher attention. Organizations should assume exploitation is possible if the vulnerability remains unpatched.
Remediation
Upgrade Spring for GraphQL to patched versions: upgrade 1.3.x applications to 1.3.9 or later, upgrade 1.4.x applications to 1.4.6 or later, and upgrade 2.0.x applications to 2.0.4 or later (verify exact versions against the official VMware Spring for GraphQL security advisory). If immediate patching is not possible, disable or restrict access to paginated GraphQL endpoints, implement network-level access controls to limit GraphQL exposure, and review classpath dependencies to remove unnecessary gadget classes when feasible.
Patch guidance
VMware has released security patches for all affected version branches. Consult the official Spring for GraphQL security advisory for precise patch versions and verify compatibility with your application before deploying to production. Test patched versions in a staging environment to ensure no breaking changes to your GraphQL schema or queries. Priority should be given to patching version 2.0.x in active production use, followed by 1.4.x, then 1.3.x.
Detection guidance
Monitor for GraphQL requests targeting paginated (Connection) fields with unusual or malformed pagination parameters. Look for requests containing serialized Java object data or suspicious encoding patterns in variables or query arguments. Enable Spring Framework and GraphQL library logging at DEBUG level to capture deserialization events. Network-level detection can flag requests to GraphQL endpoints that deviate from normal pagination patterns. Implement rate limiting on GraphQL endpoints to slow potential exploitation attempts.
Why prioritize this
This vulnerability combines high impact (remote code execution), unauthenticated access, and network reachability, placing it in the top tier of remediation priorities. Although attack complexity is rated as high due to gadget class requirements, Java applications commonly include libraries with exploitable gadget chains. The broad adoption of Spring Framework and GraphQL in modern applications means the attack surface is substantial. Immediate patching is strongly recommended.
Risk score, explained
The CVSS 3.1 score of 8.1 (HIGH) reflects the severity: an attacker with network access and no privileges can achieve complete system compromise (high confidentiality, integrity, and authenticity impact). The 'high' attack complexity moderates the score slightly, reflecting the requirement for specific exploitable classes on the classpath, but this does not substantially reduce risk in practice since Java applications frequently include such dependencies. The CVSS vector AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H confirms that this is a critical remote code execution vulnerability requiring urgent remediation.
Frequently asked questions
Do I need to patch if my GraphQL schema doesn't expose any paginated (Connection) fields?
While the vulnerability specifically manifests in paginated fields, you should still audit your schema carefully. If you have any Connection-type fields or relay-style pagination, you are at risk. Even if you don't currently expose such fields, patching is prudent to prevent future misconfigurations.
Can this vulnerability be exploited without gadget classes on the classpath?
No, exploitation requires specific gadget classes—typically from libraries like Apache Commons, Spring libraries, or XML processing libraries—to be present on the runtime classpath. However, most Java applications include such dependencies for logging, configuration, or other common tasks, so most deployments are vulnerable if unpatched.
Is there a workaround if I cannot patch immediately?
Yes. Disable or remove paginated (Connection) fields from your GraphQL schema if feasible. Alternatively, restrict network access to your GraphQL endpoint using a Web Application Firewall (WAF) or network-level access control, and implement strict rate limiting. These are temporary measures; patching should remain your primary objective.
Will this be added to CISA's Known Exploited Vulnerabilities list?
The source data indicates this CVE is not currently on CISA's KEV list, but high-severity remote code execution vulnerabilities often attract public exploit development. Do not assume lack of KEV listing means low risk; treat this as immediately exploitable.
This analysis is based on publicly disclosed vulnerability data as of the publication date. Patch versions and remediation details should be verified against the official VMware Spring for GraphQL security advisory before implementation. No exploit code or proof-of-concept is provided. Organizations should conduct their own risk assessment and testing in accordance with their change management and security policies. SEC.co makes no warranty regarding the completeness or accuracy of exploit conditions in any specific deployment. Source: NVD (public-domain), retrieved 2026-07-20. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-40993HIGHSpring Security SAML Metadata Deserialization RCE
- CVE-2026-41731HIGHSpring for Apache Kafka Header Deserialization RCE (CVSS 8.1)
- CVE-2026-41732HIGHSpring for Apache Pulsar Remote Code Execution via Unsafe Deserialization
- CVE-2026-41855HIGHSpring Framework JMS Deserialization Vulnerability (CVSS 8.1)
- CVE-2025-11993HIGHWooCommerce Infinite Scroll Plugin PHP Object Injection – HIGH Severity
- CVE-2026-12191HIGHOpenpilot 0.11 Unsafe Pickle Deserialization – LOCAL RCE
- CVE-2026-20251HIGHSplunk Remote Code Execution via KV Store Deserialization
- CVE-2026-24221HIGHNVIDIA NVTabular Deserialization Vulnerability – Patch & Detection Guide