Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessEstablish MITM or CDN-intercept position
-
DeliveryIntercept CDN JavaScript delivery for GraphiQL
-
ExploitInject malicious payload into script response
-
ExecutionDeveloper/admin loads GraphiQL page in browser
-
PersistMalicious JS executes in victim browser context
-
ImpactExfiltrate session tokens or API credentials
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Code integrity verification
|
| Exploitation Conditions | Exploitation requires two concurrent conditions: (1) the GraphiQL UI must be enabled and reachable from the attacker's vantage point - GraphiQL should not be exposed to public or untrusted networks and is disabled by default in production-hardened Spring configurations; and (2) the attacker must be positioned to intercept or modify HTTP responses from the CDN hosting GraphiQL's JavaScript dependencies, achieved via CDN-infrastructure compromise, BGP hijack, ARP spoofing on a shared LAN, or a rogue Wi-Fi access point. A user (developer or administrator) must load the GraphiQL page in a browser for the injected payload to execute. Applications that disable GraphiQL or serve it exclusively on localhost are not exploitable regardless of CDN posture. Authentication to the Spring application is not required of the attacker, but the CDN-intercept precondition limits this to targeted or supply-chain-class attacks rather than opportunistic mass exploitation. |
| Impact | The CVSS 8.1 score is driven by full C/H/I/H/A/H impact metrics, but the High Attack Complexity (AC:H) is the critical moderating factor: successful exploitation requires an attacker to either compromise the CDN origin or establish a network-level MITM position between the victim's browser and the CDN, neither of which is trivially achievable at scale. EPSS at 0.11% (2nd percentile) confirms that exploitation is not currently occurring at meaningful volume, and the vulnerability is absent from CISA KEV. A material inconsistency in the provided CVSS vector warrants attention: the vector specifies UI:N (no user interaction), yet the described impact is explicitly 'arbitrary code on the browser loading the GraphiQL page' - browser-based attacks inherently require a user to navigate to the page, making UI:R the technically correct metric; defenders should treat the scope as narrower than the raw score implies. Even a mid-sized municipal IT team in Inowroclaw running an internal developer portal faces meaningful exposure only if GraphiQL is network-accessible beyond trusted hosts AND an adversary has already achieved a CDN-intercept position. In practice, GraphiQL defaults to disabled or is restricted to localhost in production-hardened deployments, which substantially reduces real-world blast radius, though insider threats and CDN supply-chain compromise scenarios remain credible threat vectors worth addressing. |
| Exploit ScenarioDerived | An attacker with a MITM position on the network segment between a developer's workstation and the CDN serving GraphiQL's JavaScript dependencies substitutes a legitimate CDN response with a malicious bundle containing a credential-harvesting payload. When the developer opens the GraphiQL IDE to test a GraphQL mutation, the injected script silently reads the developer's session token or GraphQL API key from the browser's local storage and exfiltrates it to an attacker-controlled endpoint. No public exploit code has been identified at time of analysis, and the CDN-intercept precondition constrains this scenario to targeted attacks. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 31, 2026
Spring for GraphQL's bundled GraphiQL developer IDE loads third-party JavaScript libraries from a public CDN without Subresource Integrity (SRI) verification, allowing any attacker capable of tampering with CDN responses to inject and execute arbitrary JavaScript in any browser that loads the GraphiQL page. All four maintained release lines are affected (1.0.x through 2.0.4), as confirmed by the VMware/Spring security advisory and EUVD-2026-67175. No public exploit code has been identified at time of analysis, and EPSS at 0.11% (2nd percentile) reflects currently minimal exploitation activity.
RemediationAI
Consult the official Spring security advisory at https://spring.io/security/cve-2026-59286 for exact patched version numbers, as the input data identifies affected ranges but does not specify fix versions. The structural remediation is to upgrade to a patched release where Spring has added SRI hashes to all CDN-fetched assets in the GraphiQL template, or to bundle those JavaScript dependencies locally within the artifact. As an immediate compensating control, disable the GraphiQL endpoint in any environment where it is not actively required - this is typically controlled by the property spring.graphql.graphiql.enabled=false, which is the recommended default for production. Where GraphiQL is needed for development, restrict its URL path to localhost or trusted internal IP ranges via network policy or application-level access control. No functional side effects exist for disabling GraphiQL in non-development environments. The HeroDevs advisory at https://www.herodevs.com/vulnerability-directory/cve-2026-59286 may detail backport availability for organizations on legacy branches.
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 for GraphQL (cpe:2.3:a:spring:spring_for_graphql:*:*:*:*:*:*:*:*) is the official Spring Framework integration for GraphQL APIs and bundles GraphiQL - a browser-based interactive GraphQL IDE - for developer convenience. GraphiQL is rendered as an HTML page that loads JavaScript dependencies (typically React and the GraphiQL bundle itself) via <script> tags pointing to a public CDN. The absence of SRI attributes on those tags means the browser cannot cryptographically verify that fetched scripts match the expected content before executing them. This is the textbook definition of CWE-494 (Download of Code Without Integrity Check): any party able to intercept or substitute CDN responses can deliver a malicious payload that the browser will execute without warning. This supply-chain vector is architecturally distinct from classic XSS - the injection point is CDN infrastructure, not the Spring application itself - and would survive standard application-layer security controls such as CSP policies that allowlist the CDN origin.
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:N/UI:N/S:U/C:H/I:H/A:H
CDN MITM or compromise is required (AC:H); a user must load the GraphiQL page (UI:R); impact lands on the browser client rather than the server, indicating a scope change (S:C).
Primary rating from NVD.
CVSS VectorNVD
Lifecycle Timeline
3DescriptionNVD
The GraphiQL page bundled with Spring for GraphQL loads JavaScript libraries from a public CDN, without Subresource Integrity checks. An attacker can inject malicious code in those scripts and execute arbitrary code on the browser loading the GraphiQL page. Spring for GraphQL 2.0.0 - 2.0.4 Spring for GraphQL 1.4.0 - 1.4.6 Spring for GraphQL 1.1.0 - 1.3.9 Spring for GraphQL 1.0.0 - 1.0.7
Executive ViewAI
Spring for GraphQL's embedded developer interface loads third-party JavaScript from public CDN endpoints without integrity verification, creating a supply-chain attack vector where CDN compromise could enable arbitrary code execution in any browser accessing the GraphiQL interface. This affects all current versions (1.0.x through 2.0.4) and poses particular risk for organizations where GraphQL development tools are accessible over networks. No public exploit identified at time of analysis, though the high severity rating and absence of vendor patches require immediate access controls and compensating mitigations.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict GraphiQL access to internal-only networks or require VPN authentication; (2) Implement Content Security Policy with strict script-src directives; (3) Deploy intrusion detection tuned to CDN anomalies; (4) Serve JavaScript libraries locally rather than from external CDN; (5) Enable detailed browser console logging and access audit trails for GraphQL development interface; (6) Subscribe to VMware/Spring security advisories for patch availability tracking.
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
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-67175
GHSA-wfp5-hffg-gvg8
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB