fix(deps): update dependency @backstage/plugin-auth-backend to v0.29.2 [security]#5163
fix(deps): update dependency @backstage/plugin-auth-backend to v0.29.2 [security]#5163renovate[bot] wants to merge 1 commit into
Conversation
|
Hi @renovate[bot]. Thanks for your PR. I'm waiting for a redhat-developer member to verify that this patch is reasonable to test. If it is, they should reply with Regular contributors should join the org to skip this step. Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5163 +/- ##
==========================================
- Coverage 63.69% 62.13% -1.57%
==========================================
Files 123 116 -7
Lines 2424 2324 -100
Branches 571 567 -4
==========================================
- Hits 1544 1444 -100
- Misses 878 879 +1
+ Partials 2 1 -1
Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
de20a9e to
8c2d25e
Compare
|
The container image build workflow finished with status: |
8c2d25e to
43164c0
Compare
|
should update this with yarn-lockfile-surgeon to prevent unintended @backstage/* transitive dependency bumps |
43164c0 to
475f105
Compare
…2 [security] Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
475f105 to
ef17543
Compare
|



This PR contains the following updates:
0.29.1→0.29.2@backstage/plugin-auth-backend: Unauthenticated OAuth account takeover via
redirect_uriallowlist bypassGHSA-38hq-7x33-php4
More information
Details
Impact
The allowlist matching used by the experimental dynamic client registration and client ID metadata document (CIMD) features in
@backstage/plugin-auth-backendmatched glob patterns against the full URL string. A * wildcard could therefore match across URL component boundaries: a pattern such ashttps://*.example.com/callback, intended to allow subdomains of a trusted host, would also match an attacker-controlled URL such ashttps://attacker.example/x.example.com/callback. This applies toauth.experimentalDynamicClientRegistration.allowedRedirectUriPatternsas well as theallowedClientIdPatternsandallowedRedirectUriPatternsoptions ofauth.experimentalClientIdMetadataDocuments.An attacker could use this to register an OAuth client whose redirect URI points to a host they control while still passing the allowlist, causing authorization codes to be delivered to the attacker when a victim completes an authorization flow. In addition, allowlist patterns without an explicit protocol could match URLs with any protocol, and redirect URIs containing embedded credentials (user:pass@host) were accepted after the credentials were stripped for matching.
The practical impact is limited. Both features are experimental and disabled by default, and the default allowlist patterns only reference fixed or loopback hosts and are not affected. Deployments are only impacted if they enable one of these features and configure custom allowlist patterns that contain a wildcard in the hostname, or patterns without an explicit protocol.
Patches
Patched in
@backstage/plugin-auth-backendversion0.29.2. Patterns are now matched against each URL component separately so that wildcards no longer match across the host and path boundary, patterns without an explicit protocol are rejected as invalid configuration, and redirect URIs with embedded credentials are always rejected.Note that as part of this fix, a wildcard port no longer implicitly matches every path: a pattern such as
http://localhost:*now only matches the root path. Usehttp://localhost:*/*to allow any port and any path.Workarounds
Disable the experimental features by removing
auth.experimentalDynamicClientRegistrationandauth.experimentalClientIdMetadataDocumentsfrom yourapp-config, which is the default configuration. Alternatively, restrict the configured allowlist patterns to fully specified URLs with an explicit protocol and no wildcard in the hostname, which are not affected by this vulnerability.Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
backstage/backstage (@backstage/plugin-auth-backend)
v0.29.2Compare Source
Patch Changes
e2b3472: Promoted Client ID Metadata Documents (CIMD) to the stableauth.clientIdMetadataDocumentsconfiguration. The previousauth.experimentalClientIdMetadataDocumentskey remains supported as a deprecated alias. Dynamic Client Registration now logs a deprecation warning when enabled and users should migrate to CIMD.2aeb246: Added token revocation support for clients using client ID metadata documents (CIMD). The/v1/revokeendpoint is now available whenever dynamic client registration or client ID metadata documents are enabled, and is advertised throughrevocation_endpointin the OpenID provider configuration.Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.