{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-80515","assignerOrgId":"e51fbebd-6053-4e49-959f-1b94eeb69a2c","state":"PUBLISHED","assignerShortName":"eclipse","dateReserved":"2026-08-26T14:21:43.506Z","datePublished":"2026-09-03T13:41:00.347Z","dateUpdated":"2026-09-03T13:49:45.714Z"},"containers":{"cna":{"providerMetadata":{"orgId":"e51fbebd-6053-4e49-959f-1b94eeb69a2c","shortName":"eclipse","dateUpdated":"2026-09-03T13:41:00.347Z"},"problemTypes":[{"descriptions":[{"lang":"en","cweId":"CWE-647","description":"CWE-647 Use of Non-Canonical URL paths for authorization decisions","type":"CWE"}]},{"descriptions":[{"lang":"en","cweId":"CWE-863","description":"CWE-863 Incorrect Authorization","type":"CWE"}]}],"affected":[{"vendor":"Eclipse Foundation","product":"Eclipse Arrowhead","versions":[{"status":"affected","version":"5.0.0","lessThanOrEqual":"5.2.1","versionType":"semver"}],"defaultStatus":"unaffected"}],"descriptions":[{"lang":"en","value":"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.","supportingMedia":[{"type":"text/html","base64":false,"value":"In Eclipse Arrowhead versions from 5.0.0 to 5.2.1 the management-authorization gate that protects every <code>/…/mgmt/…</code> REST endpoint decides whether to apply its check by calling <code>request.getRequestURL().toString().contains(\"/mgmt/\")</code>. Tomcat returns <code>getRequestURL()</code> <strong>un-decoded</strong>, while Spring MVC's <code>DispatcherServlet</code> routes on the <strong>decoded</strong> path. Requesting <code>/serviceregistry/%6Dgmt/systems</code> (<code>%6D</code> == <code>m</code>) therefore fails the substring check — the filter falls through without authorising — yet is decoded to <code>/serviceregistry/mgmt/systems</code> and dispatched to the management controller. Spring Security's <code>StrictHttpFirewall</code> (active via <code>spring-boot-starter-security</code> in <code>arrowhead-common</code>) only rejects encoded <code>/ \\ . % ;</code> and null bytes, so percent-encoded ASCII letters pass through. Any authenticated system — regardless of privilege — can reach every management operation, including <code>POST /authentication/mgmt/identities</code> which creates new sysop accounts, yielding full administrative takeover of the local cloud."}]}],"references":[{"url":"https://gitlab.eclipse.org/security/vulnerability-reports/-/work_items/752"}],"metrics":[{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"PRESENT","privilegesRequired":"LOW","userInteraction":"NONE","vulnConfidentialityImpact":"HIGH","subConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH","subIntegrityImpact":"HIGH","vulnAvailabilityImpact":"NONE","subAvailabilityImpact":"HIGH","exploitMaturity":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED","version":"4.0","baseSeverity":"HIGH","baseScore":8.9,"vectorString":"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"}}],"credits":[{"lang":"en","value":"Eclipse Foundation Security Team","type":"finder"}],"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"Vulnogram 1.0.5"}},"adp":[{"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-09-03T13:49:38.746560Z","id":"CVE-2026-80515","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-09-03T13:49:45.714Z"}}]}}