Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain enrolled Arrowhead system credential
-
DeliveryCraft HTTP request with percent-encoded /mgmt/ path
-
ExploitSubmit request bypassing authorization filter
-
ExecutionSpring MVC decodes path and dispatches to management controller
-
PersistPOST /authentication/mgmt/identities to create sysop account
-
ImpactFull local cloud administrative takeover
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V6 - Authentication Use of non-canonical URL paths
|
| Exploitation Conditions | The attacker must hold a valid credential enrolled in the target Arrowhead local cloud - specifically, a client certificate or equivalent authentication token accepted by the Spring Security layer (PR:L in CVSS 4.0). No elevated or administrative rights are required; any enrolled system principal suffices. The attack path is over the network (AV:N) and requires no user interaction. The encoding bypass (percent-encoding any single ASCII letter in the '/mgmt/' path segment) is the only technical step beyond standard HTTP request construction. Exploitation is limited to Arrowhead deployments running versions 5.0.0-5.2.1; deployments that additionally restrict /mgmt/ endpoints at the network or reverse-proxy layer are partially protected. No special server configuration is required - the vulnerable code path is active in the default installation. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:H, score 8.9) accurately captures the core risk profile. AT:P (Attack Requirements: Present) reflects that the attacker must hold valid credentials as an enrolled Arrowhead system - a meaningful prerequisite in the Arrowhead PKI-based trust model, but not a high bar once an attacker has compromised or enrolled any legitimate system. PR:L is correct; no elevated rights beyond standard enrollment are needed. The scope-change to subsequent systems (SC:H/SI:H/SA:H) is the most consequential signal: the ability to POST /authentication/mgmt/identities escalates a low-privilege system principal to full sysop status, from which every other resource in the local cloud is controllable. Availability impact on the vulnerable system (VC/VA:N) is assessed as not directly applicable - the exploit does not crash or disrupt the service, only silently bypasses its authorization. No KEV listing, no EPSS data, and no public POC are present in the input; real-world exploitation probability is therefore inferred from CVSS metrics alone and should be treated as elevated given the trivial encoding step required. The encoding bypass requires no tooling beyond a standard HTTP client. |
| Exploit ScenarioDerived | An attacker who controls or has compromised any enrolled Arrowhead system (holding a valid client certificate) sends a crafted HTTP POST to /authentication/%6Dgmt/identities - the management endpoint that creates new sysop accounts. The authorization filter, evaluating the raw Tomcat URL, sees no '/mgmt/' substring and allows the request through unauthenticated; Spring MVC decodes the path and dispatches it to the management controller, which creates a new sysop-level identity under the attacker's control. The attacker then uses the new sysop credentials to access, modify, or exfiltrate configuration for every service in the local cloud. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 03, 2026
Authorization bypass in Eclipse Arrowhead 5.0.0-5.2.1 allows any authenticated system - regardless of privilege level - to reach every protected management API endpoint by submitting percent-encoded paths that defeat the raw-URL substring check while still being routed by Spring MVC's decoded dispatcher. Exploiting the flaw is trivial: encoding a single character in '/mgmt/' (e.g. 'm' → '%6D') causes the filter to fall through without authorizing the request, yet Tomcat decodes and dispatches it normally. The highest-impact target is POST /authentication/mgmt/identities, which creates new sysop-level accounts, yielding full administrative takeover of the Arrowhead local cloud. No public exploit has been identified at time of analysis.
RemediationAI
Consult the Eclipse security advisory at https://gitlab.eclipse.org/security/vulnerability-reports/-/work_items/752 for the authoritative fix version; no specific patched release number is confirmed in the currently available data. As an immediate compensating control, restrict network-layer access to all /mgmt/ endpoints to trusted administrative networks or VPN segments - this limits the population of potential attackers to those who already have network adjacency. Additionally, audit all enrolled system certificates and revoke any that are not operationally required, narrowing the set of principals with the PR:L credential needed to exploit the flaw. In the application layer, a workaround is to replace the raw-URL substring check with a comparison against HttpServletRequest.getServletPath() or the Spring-decoded request URI, which are always normalized; however, this is a code change and should be treated as a temporary measure pending an official patch. Do not rely on Spring Security's StrictHttpFirewall alone - it explicitly permits percent-encoded ASCII letters and will not block this bypass.
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
Eclipse Arrowhead (cpe:2.3:a:eclipse_foundation:eclipse_arrowhead:*:*:*:*:*:*:*:*) is a Java-based IoT/IIoT 'local cloud' framework running on Apache Tomcat with a Spring Boot/Spring MVC stack secured by spring-boot-starter-security. The root cause is CWE-647 (Use of Non-Canonical URL Paths for Authorization Decisions): the management authorization gate invokes HttpServletRequest.getRequestURL().toString().contains('/mgmt/') - but Tomcat's getRequestURL() returns the raw, percent-encoded URI, while Spring MVC's DispatcherServlet routes on the decoded path. Spring Security's StrictHttpFirewall rejects encoded slashes, backslashes, dots, semicolons, percent signs, and null bytes, but permits percent-encoded plain ASCII letters, so a path like /serviceregistry/%6Dgmt/systems passes all firewall checks, fails the 'contains /mgmt/' test in the authorization filter, yet is decoded to /serviceregistry/mgmt/systems by the dispatcher and handed to the management controller. The mismatch between the URL representation used for authorization and the representation used for routing is the precise definition of CWE-647.
Know when Eclipse Arrowhead 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
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:H
Network-reachable, low-complexity encoding bypass by any authenticated system; scope changes to full admin control (sysop creation), no direct availability impact.
Primary rating from Vendor (eclipse).
CVSS VectorVendor: eclipse
DescriptionCVE.org
In Eclipse Arrowhead versions from 5.0.0 to 5.2.1 the management-authorization gate that protects every /…/mgmt/… REST endpoint decides whether to apply its check by calling request.getRequestURL().toString().contains("/mgmt/"). Tomcat returns getRequestURL() un-decoded, while Spring MVC's DispatcherServlet routes on the decoded path. Requesting /serviceregistry/%6Dgmt/systems (%6D == m) therefore fails the substring check - the filter falls through without authorising - yet is decoded to /serviceregistry/mgmt/systems and dispatched to the management controller. Spring Security's StrictHttpFirewall (active via spring-boot-starter-security in arrowhead-common) only rejects encoded / \ . % ; and null bytes, so percent-encoded ASCII letters pass through. Any authenticated system - regardless of privilege - can reach every management operation, including POST /authentication/mgmt/identities which creates new sysop accounts, yielding full administrative takeover of the local cloud.
Articles & Coverage 1
Executive ViewAI
Eclipse Arrowhead 5.0.0 through 5.2.1 contains a critical authorization bypass that allows authenticated users-regardless of assigned privilege level-to assume full administrative control by creating sysop-level accounts through percent-encoded URL manipulation. This represents complete system compromise for any organization running affected versions, with exploitation trivial enough to execute without specialized tools.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) implement firewall and network segmentation rules to restrict API access to authorized administrative systems only; (2) deploy Web Application Firewall or API gateway rules to block requests containing percent-encoded path characters (e.g., %6D, %2F) in URLs targeting /mgmt/ endpoints; (3) enable comprehensive audit logging on all authentication and identity management API calls to detect exploitation attempts; (4) enforce strict least-privilege access-minimize user account privileges and remove unnecessary default or test accounts; (5) implement real-time monitoring on identity-management endpoints to alert on anomalous patterns such as unexpected creation of sysop or administrative accounts.
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.
EUVD-2026-70470
GHSA-3hpw-g5v5-5p77
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB