Shopware — это открытая торговая платформа. Версии с 6.7.3.0 по 6.7.10.0 имеют открытое перенаправление в общедоступной точке входа SSO Shopware по адресу `GET /api/oauth/sso/auth`. Когда конечная точка достигается без ожидаемого состояния сеанса единого входа, приложение возвращается к заголовку запроса «Referer» и использует это значение в качестве места назначения перенаправления.
В проверенном поведении сервер не ограничивает эту резервную цель URL-адресами одного и того же происхождения, не требует относительного пути и не отклоняет опасные схемы, такие как `javascript:`. В результате неаутентифицированный запрос может превратить эту конечную точку в повторно используемый примитив перенаправления, назначение которого полностью контролируется метаданными запроса, предоставленными злоумышленником. Проблема безопасности не ограничивается безобидным несоответствием навигации.
Конечная точка находится под `/api/oauth/`, что дает перенаправлению надежный источник, контролируемый приложением, и делает его пригодным для фишинговых цепочек, злоупотреблений фирменным перенаправлением и случаев, когда клиентское программное обеспечение автоматически следует перенаправлениям, выданным доверенным хостом. Прилагаемые доказательства также показывают, что ответ представляет собой не только HTTP-код «302» с управляемым пользователем заголовком «Location». Тело HTML содержит соответствующий метатег обновления и ссылку перенаправления, созданную на основе того же значения, контролируемого злоумышленником.
В подтвержденном доказательстве конечная точка перенаправляется на https://attacker.example/poc, когда этот URL-адрес передается через Referer, а также отражает javascript:alert(1) в Location и тело перенаправления HTML без какой-либо фильтрации схемы. Таким образом, этот отчет остается консервативным и утверждает открытое перенаправление с произвольными целями перенаправления, отмечая при этом, что отсутствие ограничений схемы делает поведение существенно хуже, чем внешнее перенаправление с той же схемой. Версия 6.7.10.1 устраняет проблему.
Показать оригинальное описание (EN)
Shopware is an open commerce platform. Versions 6.7.3.0 through 6.7.10.0 have an open redirect in Shopware's public SSO entry point at `GET /api/oauth/sso/auth`. When the endpoint is reached without the expected SSO session state, the application falls back to the request's `Referer` header and uses that value as the redirect destination. In the validated behavior, the server does not restrict that fallback target to same-origin URLs, does not require a relative path, and does not reject dangerous schemes such as `javascript:`. As a result, an unauthenticated request can turn this endpoint into a reusable redirect primitive whose destination is fully controlled by attacker-supplied request metadata. The security problem is not limited to a harmless navigation mismatch. The endpoint sits under `/api/oauth/`, which gives the redirect a trustworthy application-controlled origin and makes it suitable for phishing chains, branded redirect abuse, and cases where client software automatically follows redirects issued by a trusted host. The attached evidence also shows that the response is not only an HTTP `302` with a user-controlled `Location` header. The HTML body contains a matching meta refresh tag and redirect link built from the same attacker-controlled value. In the validated proof, the endpoint redirects to `https://attacker.example/poc` when that URL is supplied through `Referer`, and it also reflects `javascript:alert(1)` into `Location` and the HTML redirect body without any scheme filtering. This report therefore stays conservative and claims an open redirect with arbitrary redirect targets, while noting that the lack of scheme restrictions makes the behavior materially worse than a same-scheme external redirect. Version 6.7.10.1 fixes the issue.
Характеристики атаки
Последствия
Строка CVSS v3.1