CVE-2026-80515
nicheEncoded-character authz bypass in Eclipse Arrowhead mgmt API grants admin takeover
Eclipse Arrowhead 5.0.0 through 5.2.1 contains an authorization flaw (CWE-647/CWE-863) in the gate that protects every /…/mgmt/… REST endpoint, which decides whether to enforce its check using a substring test against the un-decoded request URL. Because Tomcat's getRequestURL() returns the URL un-decoded while Spring MVC dispatches on the decoded path, a request such as /serviceregistry/%6Dgmt/systems (percent-encoded 'm') skips the authorization check yet still reaches the management controller, and the bundled StrictHttpFirewall only rejects encoded /, \, ., %, ; and null bytes, so percent-encoded ASCII letters pass through. Any authenticated system, regardless of its assigned privileges, can therefore invoke every management operation, including POST /authentication/mgmt/identities, which creates new sysop accounts and yields full administrative takeover of the local cloud. All deployments of the affected Eclipse Arrowhead versions that expose the management REST API to authenticated participants are affected. No public proof-of-concept, CISA KEV listing, or known in-the-wild exploitation exists at this time, and EPSS currently estimates only a 0.3% probability of exploitation within 30 days.
What to do: Upgrade all Arrowhead core systems to a release beyond 5.2.1 (first fixed version not stated in the supplied data) and, as an interim mitigation, restrict /…/mgmt/… endpoints to trusted clients at a reverse proxy or tighten the StrictHttpFirewall to reject percent-encoded letters on management paths. Audit local sysop accounts for entries created without authorization, since any low-privilege authenticated system could have minted sysop accounts via POST /authentication/mgmt/identities.
| Eclipse Foundation Eclipse Arrowhead (management REST endpoints, e.g. serviceregistry and authentication core systems) | 5.0.0 through 5.2.1 (inclusive) |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
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.
- Weakness
- CWE-647, CWE-863
- Vector
- 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
In the news0 stories
No ingested article mentions this CVE yet.