Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach AI app using Spring AI tool calling
-
DeliverySubmit crafted model input
-
ExploitInduce call to out-of-scope tool
-
ExecutionFramework dispatches unauthorized tool
-
ImpactPrivilege escalation via restricted function
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
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 | Requires the target application to be built on an affected Spring AI version (1.0.0-1.0.9, 1.1.0-1.1.8, or 2.0.0) AND to actually use the tool-calling feature with a per-request tool list that restricts at least one tool relative to others. Exploitation further depends on the attacker being able to influence the model's input for a request and on the framework dispatching a tool outside the advertised boundary - the description explicitly limits this to occurring 'under certain conditions,' so it is not universally reproducible. Limiting factors: applications not using tool calling, or exposing a uniform tool set with no privilege differential, are not meaningfully affected; realized impact is bounded by the capabilities of the improperly-invoked tool. |
| Impact | This is a CWE-863 incorrect-authorization flaw in Spring AI's tool-calling layer: the per-request tool allow-list is advertised to the model but not fully enforced at dispatch, so a tool outside the request's boundary can be invoked. The vendor CVSS of 9.8 (AV:N/AC:L/PR:N/UI:N, full C:H/I:H/A:H) and SSVC Technical Impact of 'total' present this as a maximum-severity network flaw, but multiple signals argue against treating it as an urgent internet-wide priority. SSVC Exploitation is 'none' and Automatable is 'no'; EPSS is 0.17% (7th percentile); it is not in CISA KEV and no public exploit is identified. Critically, the description itself qualifies the flaw as occurring only 'under certain conditions,' which contradicts the AC:L in the vendor vector - real exploitation depends on the host application actually using tool calling, exposing multiple tools with differing privilege, and an attacker being able to influence model input to steer dispatch toward an out-of-scope tool. The blast radius (C/I/A) is also entirely a function of what the improperly-reachable tool does, so the uniform C:H/I:H/A:H is an upper bound rather than a guaranteed outcome. Net: a genuine and worth-patching authorization weakness in a fast-growing framework, but current evidence points to conditional/targeted rather than mass exploitation, and the 9.8 is likely over-scored for the average deployment. |
| Exploit ScenarioDerived | An application built on a vulnerable Spring AI version exposes several tools to an LLM but restricts a sensitive tool (e.g., an administrative or data-mutating function) from a given request context. An attacker who can shape the request's model input crafts prompts that induce the model to emit a call to the restricted tool, which the framework dispatches despite it being outside the advertised per-request boundary, achieving privilege escalation. No public exploit code is identified, and the description notes this only triggers under certain conditions, so reliability depends on the specific tool wiring. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Sep 16, 2026
Incorrect authorization in Spring AI's tool-calling layer allows a tool that was never advertised to the current request to be dispatched and invoked, which can escalate privileges when the out-of-boundary tool carries greater capabilities than the caller was granted. Affected are Spring AI 1.0.0 through 1.0.9, 1.1.0 through 1.1.8, and 2.0.0 (CPE cpe:2.3:a:vmware:spring_ai) in applications that actually use tool calling with a per-request tool list that restricts at least one tool relative to others, and where the attacker can influence the model's input; the assessed vector is CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H (high attack complexity, unauthenticated) rather than the vendor's headline 9.8 AV:N/AC:L score, reflecting that exploitation is conditional ('under certain conditions') and not universally reproducible. No public exploit code has been identified at time of analysis and there is no confirmed active exploitation (CISA KEV does not list this CVE); EPSS is low at 0.17% (7th percentile), and CISA SSVC rates Exploitation as none and Automatable as no, though Technical Impact is total. Realized impact is bounded by the authority of whatever tool slips past the boundary.
Earlier versions of this analysis (1)
Incorrect authorization in Spring AI's tool calling subsystem allows the per-request tool allowlist to be bypassed at dispatch time, enabling invocation of tools not made available to the current request. Affected are Spring AI versions 1.0.0-1.0.9, 1.1.0-1.1.8, and 2.0.0. An authenticated low-privileged attacker who can influence model interactions may exploit this to invoke privileged tools outside their authorization scope, resulting in privilege escalation and potential confidentiality breach. No public exploit or CISA KEV listing has been identified at time of analysis.
RemediationAI
No exact fixed version is present in the supplied intelligence, so the immediate step is to consult the vendor advisory at https://spring.io/security/cve-2026-59318 (mirrored via the HeroDevs entry at https://www.herodevs.com/vulnerability-directory/cve-2026-59318 and NVD at https://nvd.nist.gov/vuln/detail/CVE-2026-59318) and upgrade to the patched Spring AI release indicated there for the 1.0.x, 1.1.x and 2.0.x lines; until that is applied, treat any model-visible tool list as untrusted. Because the flaw is enforcement at dispatch rather than advertisement, the most effective compensating control is to re-check authorization inside the tool implementation itself - every mutating or privileged tool should independently verify the caller's identity and entitlements before acting, which closes the gap regardless of which list the dispatcher consulted at the cost of added latency and per-tool code. Where that is impractical, remove the privilege differential: expose a uniform, least-privilege tool set to every request so that an out-of-boundary invocation cannot reach anything the caller could not already reach (this preserves availability but degrades legitimate differentiated functionality), or wrap the tool dispatcher with a validation interceptor that re-asserts the request's allow-list against the concrete tool bean before execution and fails closed on mismatch (requires maintaining the allow-list in a second location). Applications that do not use tool calling, or that expose only one uniform tool set, are not meaningfully exposed and can defer the upgrade. Additionally, log and alert on dispatched tool invocations that were absent from the request's advertised list, since that signal distinguishes exploitation attempts from normal operation, and note that with no public exploit identified and EPSS at 0.17% (7th percentile), the realized risk is currently conditional on the attacker controlling model input plus an affected tool-set configuration.
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 AI is VMware/Spring's Java framework for building LLM-backed applications, and its tool-calling (function-calling) support lets an application declare, per request, which tools the model may invoke so that the model only reaches functionality within the caller's privilege envelope. This CVE is a CWE-863 Incorrect Authorization defect: the per-request tool list is presented to the model as a boundary, but that boundary is not fully enforced when a tool call is dispatched, meaning the framework's dispatch path can resolve and execute a tool that was not in the request's allow-list. The root cause class is authorization enforcement performed at advertisement/validation time rather than at the point of action, a recurring pattern in agentic AI pipelines where untrusted natural-language input steers which downstream capability executes. The underlying technology is a Java/Spring runtime with agentic orchestration over a language model; the model's output functions as untrusted input to the dispatcher, and the advertised tool list is the security control that is supposed to constrain it. CPE data identifies all affected branches as 2.3:a:vmware:spring_ai across the 1.0.x, 1.1.x and 2.0.0 lines, and the EUVD record (EUVD-2026-63933) mirrors the same version ranges.
Know when Spring Ai 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:L/PR:N/UI:N/S:U/C:H/I:H/A:H
AC:H because the flaw triggers only 'under certain conditions' and requires steering tool dispatch; PR:N/AV:N as the library boundary fails for network-reachable AI apps; impacts high but bounded by the reachable tool.
Primary rating from NVD.
CVSS VectorNVD
Lifecycle Timeline
3DescriptionNVD
In Spring AI's tool calling support, the per-request tool list is advertised to the model as a boundary but is not fully enforced when a tool call is dispatched. Under certain conditions, a tool that was not made available to the current request could be invoked, potentially leading to privilege escalation. Affected versions: Spring AI: 2.0.0 Spring AI: 1.1.0 through 1.1.8 Spring AI: 1.0.0 through 1.0.9
Executive ViewAI
Spring AI's tool-calling feature contains a critical authorization weakness that can let unauthenticated attackers who influence model input invoke tools outside the intended per-request allowlist, creating a path to privilege escalation and unauthorized actions in AI-enabled business workflows. Affected organizations using Spring AI 1.0.0-1.0.9, 1.1.0-1.1.8, or 2.0.0 with restricted tool lists should treat this as a high-priority exposure because it could compromise sensitive data, transaction integrity, or service availability. Although no public exploit identified at time of analysis and there is no confirmed active exploitation (CISA KEV), no vendor-released patch identified at time of analysis, so leadership should prioritize interim controls and a remediation plan.
No vendor-released patch identified at time of analysis. Interim mitigations include disabling or tightly constraining tool calling where not business-critical; enforcing server-side allowlisting that rejects any tool not explicitly advertised for the request; adding independent authorization checks before tool dispatch; restricting attacker influence over model input and prompts; applying least privilege to tool and downstream credentials; monitoring and alerting on unexpected tool invocations; and tracking the vendor advisory for a fixed release.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
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
SQL injection in Spring AI's CosmosDBVectorStore component (versions 1.0.0-1.0.5 and 1.1.0-1.1.4) enables authenticated
A critical SQL injection vulnerability in Spring AI's MariaDBFilterExpressionConverter component allows authenticated at
Spring AI's AbstractFilterExpressionConverter fails to properly escape user-controlled input in JSONPath queries, allowi
Filter expression injection in Spring AI 1.0.0-1.0.5 and 1.1.0-1.1.4 allows remote unauthenticated attackers to manipula
Server-Side Request Forgery in Spring AI Bedrock Converse module enables unauthenticated remote attackers to force the a
Filter-expression injection in Spring AI's MilvusVectorStore allows remote unauthenticated attackers to manipulate vecto
Conversation memory poisoning in VMware Spring AI allows remote unauthenticated attackers to inject malicious input that
Query injection in the Spring AI vector-store modules - spring-ai-elasticsearch-store, spring-ai-opensearch-store and sp
Unbounded session accumulation in Spring AI 2.0.0's MCP Streamable HTTP server transport enables remote unauthenticated
Denial of service in Spring AI's PDF document ingestion crashes the processing thread when parsing a crafted PDF with a
Predictable ONNX model cache path creation in Spring AI enables a local attacker on a shared multi-user host to pre-crea
EUVD-2026-63933
GHSA-wmqr-wxf2-6449
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB