Описание
Backstage has a Possible SSRF when reading from allowed URL's in backend.reading.allow
Impact
The FetchUrlReader component, used by the catalog and other plugins to fetch content from URLs, followed HTTP redirects automatically. This allowed an attacker who controls a host listed in backend.reading.allow to redirect requests to internal or sensitive URLs that are not on the allowlist, bypassing the URL allowlist security control.
This is a Server-Side Request Forgery (SSRF) vulnerability that could allow access to internal resources, but it does not allow attackers to include additional request headers.
Patches
This vulnerability is fixed in @backstage/backend-defaults version 0.12.2, 0.13.2, 0.14.1, and 0.15.0. Users should upgrade to this version or later.
Workarounds
- Restrict
backend.reading.allowto only trusted hosts that you control and that do not issue redirects - Ensure allowed hosts do not have open redirect vulnerabilities
- Use network-level controls to block access from Backstage to sensitive internal endpoints
References
Пакеты
@backstage/backend-defaults
< 0.12.2
0.12.2
@backstage/backend-defaults
>= 0.13.0, < 0.13.2
0.13.2
@backstage/backend-defaults
>= 0.14.0, < 0.14.1
0.14.1
Связанные уязвимости
Backstage is an open framework for building developer portals, and @backstage/backend-defaults provides the default implementations and setup for a standard Backstage backend app. Prior to versions 0.12.2, 0.13.2, 0.14.1, and 0.15.0, the `FetchUrlReader` component, used by the catalog and other plugins to fetch content from URLs, followed HTTP redirects automatically. This allowed an attacker who controls a host listed in `backend.reading.allow` to redirect requests to internal or sensitive URLs that are not on the allowlist, bypassing the URL allowlist security control. This is a Server-Side Request Forgery (SSRF) vulnerability that could allow access to internal resources, but it does not allow attackers to include additional request headers. This vulnerability is fixed in `@backstage/backend-defaults` version 0.12.2, 0.13.2, 0.14.1, and 0.15.0. Users should upgrade to this version or later. Some workarounds are available. Restrict `backend.reading.allow` to only trusted hosts that y