Backstage — это открытая среда для создания порталов для разработчиков. До версии 0.29.2 экспериментальная динамическая регистрация клиента и функции документа метаданных идентификатора клиента в @backstage/plugin-auth-backend использовали полное сопоставление глобальных строк matcher.isMatch для параметров auth.experimentalDynamicClientRegistration.allowedRedirectUriPatterns и auth.experimentalClientIdMetadataDocuments AllowClientIdPatterns и разрешенныхRedirectUriPatterns. Подстановочный знак имени хоста может совпадать через границы компонентов URL-адреса, позволяя контролируемому злоумышленником URI перенаправления с суффиксом доверенного имени хоста в пути пройти список разрешенных и получить код авторизации OAuth после того, как жертва завершит поток.
Шаблоны без явного протокола могут соответствовать непредусмотренным протоколам, а URI перенаправления, содержащие встроенные учетные данные, принимаются после удаления информации о пользователе для сопоставления. Эти функции являются экспериментальными и отключены по умолчанию; Затрагиваются только те развертывания, которые включают их и настраивают пользовательские шаблоны имен хостов с подстановочными знаками или без протоколов. Эта проблема впервые исправлена в предварительной версии 0.29.2.
Показать оригинальное описание (EN)
Backstage is an open framework for building developer portals. Prior to 0.29.2, the experimental dynamic client registration and client ID metadata document features in the @backstage/plugin-auth-backend use full-string matcher.isMatch glob matching for auth.experimentalDynamicClientRegistration.allowedRedirectUriPatterns and the auth.experimentalClientIdMetadataDocuments allowedClientIdPatterns and allowedRedirectUriPatterns options. A hostname wildcard can match across URL component boundaries, allowing an attacker-controlled redirect URI with a trusted hostname suffix in its path to pass the allowlist and receive an OAuth authorization code after a victim completes the flow. Patterns without an explicit protocol can match unintended protocols, and redirect URIs containing embedded credentials are accepted after user information is stripped for matching. The features are experimental and disabled by default; only deployments that enable them and configure custom wildcard-hostname or protocol-less patterns are affected. This issue is first fixed in prerelease version 0.29.2.
Характеристики атаки
Последствия
Строка CVSS v3.1