{"id":"CVE-2026-80515","state":"PUBLISHED","title":"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 reques","description":"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.","publishedAt":"2026-09-03T13:41:00.347Z","updatedAt":"2026-09-03T13:49:45.714Z","severity":{"score":8.9,"label":"High","version":"4.0","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","source":"eclipse"},"assigner":"eclipse","products":["Eclipse Foundation Eclipse Arrowhead"],"affected":[{"vendor":"Eclipse Foundation","product":"Eclipse Arrowhead","defaultStatus":"unaffected","versions":[{"version":"5.0.0","status":"affected","lessThanOrEqual":"5.2.1","versionType":"semver"}]}],"references":["https://gitlab.eclipse.org/security/vulnerability-reports/-/work_items/752"],"weaknesses":["CWE-647","CWE-863"],"ingestedAt":"2026-10-29T20:13:07.220Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/80xxx/CVE-2026-80515.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-80515","state":"PUBLISHED","datePublished":"2026-09-03T13:41:00.347Z","dateUpdated":"2026-09-03T13:49:45.714Z","assignerShortName":"eclipse","assignerOrgId":"e51fbebd-6053-4e49-959f-1b94eeb69a2c","dateReserved":"2026-08-26T14:21:43.506Z"},"containers":{"cna":{"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."}],"affected":[{"vendor":"Eclipse Foundation","product":"Eclipse Arrowhead","defaultStatus":"unaffected","versions":[{"version":"5.0.0","status":"affected","lessThanOrEqual":"5.2.1","versionType":"semver"}]}],"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"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-647","lang":"en","description":"CWE-647 Use of Non-Canonical URL paths for authorization decisions","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-863","lang":"en","description":"CWE-863 Incorrect Authorization","type":"CWE"}]}],"providerMetadata":{"shortName":"eclipse","orgId":"e51fbebd-6053-4e49-959f-1b94eeb69a2c","dateUpdated":"2026-09-03T13:41:00.347Z"},"credits":[{"lang":"en","value":"Eclipse Foundation Security Team","type":"finder"}],"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"Vulnogram 1.0.5"}},"adp":[{"title":"CISA ADP Vulnrichment","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"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-09-03T13:49:45.714Z"}}]}}}