Skip to main content

Eclipse BaSyx EUVDEUVD-2026-48523

| CVE-2026-15704 CRITICAL
Incorrect Authorization (CWE-863)
2026-07-24 eclipse GHSA-86p5-cmgc-c94w
9.8
CVSS 3.1 · Vendor: eclipse
Share

Severity by source

Vendor (eclipse) PRIMARY
9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
9.8 CRITICAL

Unauthenticated, trivially scriptable trailing-slash bypass over the network (AV:N/AC:L/PR:N/UI:N); defeating ABAC exposes read/write/delete/upload so C:H/I:H/A:H, with no cross-system scope change (S:U).

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (eclipse).

CVSS VectorVendor: eclipse

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
Source Code Evidence Fetched
Jul 26, 2026 - 11:55 vuln.today
Analysis Generated
Jul 26, 2026 - 11:55 vuln.today
Patch available
Jul 24, 2026 - 10:02 EUVD
CVE Published
Jul 24, 2026 - 07:41 cve.org
CRITICAL 9.8

DescriptionCVE.org

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.

The 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.

An 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.

The 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.

AnalysisAI

Authorization bypass in Eclipse BaSyx Go Components through 1.0.0 lets unauthenticated network attackers reach ABAC-protected API handlers by appending a trailing slash to a route (e.g. GET /shells/ instead of GET /shells). The ABAC middleware evaluates the slashed path, finds no matching policy route, and passes the request onward, after which Chi's middleware.StripSlashes normalizes the path and executes the protected handler with no ABAC decision and none of the expected ABAC query filters. Publicly available upstream fix exists (PR #442, v1.0.1) and SSVC rates technical impact as total, though EPSS is low (0.35%) and no active exploitation is confirmed.

Technical ContextAI

Eclipse BaSyx Go Components is the Eclipse Foundation's Go implementation of Asset Administration Shell (AAS) Industrie 4.0 infrastructure - AAS Repository, Submodel Repository, AAS/Submodel Registry, Concept Description Repository, Discovery, and AAS Environment upload services share a common HTTP router and an ABAC (Attribute-Based Access Control) authorization middleware. The root cause is CWE-863 (Incorrect Authorization) arising from path-normalization inconsistency: the router uses Chi's middleware.StripSlashes so /shells/ is dispatched to the /shells route, but the ABAC middleware performs its policy lookup against the raw request path with the trailing slash still present. Because the slash-suffixed path matches no registered ABAC route, the middleware fails open - passing the request through unfiltered - and the router then strips the slash and invokes the sensitive handler. The PR #442 diff confirms the fix by adding integration and security tests asserting that trailing-slash variants (/shell-descriptors/, /lookup/shells/, /submodels/, /upload/, etc.) now return HTTP 404 rather than executing the handler.

RemediationAI

Upgrade to Eclipse BaSyx Go Components v1.0.1, which fixes the trailing-slash authorization gap (Vendor-released patch: v1.0.1; release https://github.com/eclipse-basyx/basyx-go-components/releases/tag/v1.0.1, fix commit set https://github.com/eclipse-basyx/basyx-go-components/pull/442). If immediate upgrade is not possible, place a reverse proxy or API gateway in front of the services to canonicalize/normalize request paths before they reach BaSyx - specifically stripping or rejecting trailing slashes so the proxy and ABAC middleware agree on the path (trade-off: must be applied uniformly to every method and endpoint, and any legitimate client relying on trailing-slash URLs will break). As a further compensating control, restrict network exposure of the AAS/Submodel/Registry/Discovery/upload endpoints to trusted networks or authenticated gateways so an unauthenticated attacker cannot reach them directly; this reduces exposure but does not close the bypass for insiders. Verify remediation using the trailing-slash 404 assertions added in PR #442.

Share

EUVD-2026-48523 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy