В версиях компонентов Eclipse BaSyx Go до 1.0.0 включительно развертывания с поддержкой ABAC уязвимы для обхода авторизации, вызванного несогласованной обработкой косой черты между промежуточным программным обеспечением ABAC и маршрутизатором HTTP. В общей конфигурации маршрутизатора использовалось `middleware.StripSlashes` Чи, поэтому запрос типа GET /shells/ был отправлен на зарегистрированный маршрут GET /shells. Однако промежуточное программное обеспечение ABAC оценило исходный путь запроса, включая косую черту в конце. Если поиск маршрута ABAC не находил соответствующий маршрут с косой чертой, запрос передавался дальше, а затем маршрутизатор удалял косую черту и выполнял защищенный обработчик без предполагаемого решения об авторизации ABAC и без ожидаемых фильтров запроса ABAC.
Неаутентифицированный или неавторизованный сетевой злоумышленник может добавить косую черту к защищенным маршрутам API, чтобы добраться до обработчиков, которые должны были быть запрещены политикой ABAC. В зависимости от предоставляемого компонента, метода HTTP и развернутой политики это может позволить несанкционированные операции чтения, создания, обновления, удаления или загрузки. Эта проблема затрагивает развертывания служб с поддержкой ABAC, которые используют общий маршрутизатор и промежуточное программное обеспечение ABAC, включая репозиторий AAS, репозиторий подмоделей, реестр AAS, реестр подмоделей, репозиторий описаний концепций, обнаружение, загрузку среды AAS и связанные службы.
Проблема исправлена в Eclipse BaSyx Go Components v1.0.1.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v3.1