{"schemaVersion":3,"id":"CVE-2026-15704","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"In Eclipse BaSyx Go Components versions up to and including 1.0.0, ABAC-enabled deployments are vulnerable to an authorization bypass caused by inconsistent trailing-slash handling between the ABAC middleware and the HTTP router.\n\n\n\nThe shared router configuration used Chi's `middleware.StripSlashes`, so a request such as `GET /shells/` was dispatched to the registered `GET /shells` route. However, the ABAC middleware evaluated the original request path including the trailing slash. If ABAC route lookup did not find a matching slash-suffixed route, the request was passed onward and the router then stripped the slash and executed the protected handler without the intended ABAC authorization decision and without the expected ABAC query filters.\n\n\n\nAn unauthenticated or unauthorized network attacker could append a trailing slash to protected API routes to reach handlers that should have been denied by ABAC policy. Depending on the exposed component, HTTP method, and deployed policy, this could allow unauthorized read, create, update, delete, or upload operations.\n\n\n\nThe issue affects ABAC-enabled deployments of services that use the shared router and ABAC middleware, including AAS Repository, Submodel Repository, AAS Registry, Submodel Registry, Concept Description Repository, Discovery, AAS Environment upload, and related services. The issue is fixed in Eclipse BaSyx Go Components v1.0.1.","dates":{"published":"2026-07-24T07:41:42.653Z","modified":"2026-07-24T12:30:35.564Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":9.8,"severity":"critical","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":9.8,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":9.8,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00652,"percentile":0.50286,"severity":"low","asOf":"2026-10-19T00:00:00.000Z","change":{"pp":0.27899999999999997,"baselineDate":"2026-09-19T00:00:00.000Z","baselineScore":0.00373},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00373,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00373,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00373,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00373,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00373,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00373,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00373,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00373,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00373,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00373,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00652,"percentile":0.50286}],"last30":[{"date":"2026-09-19T00:00:00.000Z","score":0.00373,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00373,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00373,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00373,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00373,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00652,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00652,"percentile":0.50286}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-180","name":"Incorrect Behavior Order: Validate Before Canonicalize","description":"The product validates input before it is canonicalized, which prevents the product from detecting data that becomes invalid after the canonicalization step.","type":"weakness","status":"Draft","abstraction":"Variant","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/180.html"},{"id":"CWE-284","name":"Improper Access Control","description":"The product does not restrict or incorrectly restricts access to a resource from an unauthorized actor.","type":"weakness","status":"Incomplete","abstraction":"Pillar","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/284.html"},{"id":"CWE-863","name":"Incorrect Authorization","description":"The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check.","type":"weakness","status":"Incomplete","abstraction":"Class","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/863.html"}],"affected":[{"vendor":"eclipse foundation","product":"eclipse basyx go components","name":"Eclipse BaSyx Go Components","label":"eclipse basyx go components","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 1.0.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.0.1","eol":null,"hubHref":"/vendor/eclipse_foundation/eclipse_basyx_go_components"}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://gitlab.eclipse.org/security/vulnerability-reports/-/work_items/580","label":"gitlab.eclipse.org/security/vulnerability-reports/-/work_items/580","hostname":"gitlab.eclipse.org","tags":[]},{"url":"https://github.com/eclipse-basyx/basyx-go-components/pull/442","label":"github.com/eclipse-basyx/basyx-go-components/pull/442","hostname":"github.com","tags":[]},{"url":"https://github.com/eclipse-basyx/basyx-go-components/releases/tag/v1.0.1","label":"github.com/eclipse-basyx/basyx-go-components/releases/tag/v1.0.1","hostname":"github.com","tags":[]},{"url":"https://gitlab.eclipse.org/security/cve-assignment/-/work_items/164","label":"gitlab.eclipse.org/security/cve-assignment/-/work_items/164","hostname":"gitlab.eclipse.org","tags":[]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-07-24T07:41:42.653Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-07-24T12:30:35.564Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":70,"level":"high","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-19T14:46:56.411Z","stale":false,"partial":false}}