漏洞概述

Backstage 是一个用于构建开发者门户的开源框架,其 @backstage/backend-defaults 包为标准 Backstage 后端应用提供默认实现和配置。在受影响版本中,FetchUrlReader 组件(被目录及其他插件用于从 URL 获取内容)会自动跟随 HTTP 重定向,导致攻击者可利用允许列表中的受控主机将请求重定向至未列入允许列表的内部或敏感 URL,从而绕过 URL 允许列表的安全控制。该漏洞属于服务端请求伪造(SSRF),可能造成内部资源信息泄露,但无法注入额外请求头。

漏洞详情

  • CVE 编号:CVE-2026-24048
  • 漏洞类型:服务端请求伪造(SSRF,CWE-918)
  • CVSS 评分:3.5(LOW,CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:N/A:N)
  • 影响版本:@backstage/backend-defaults < 0.12.2、0.13.x < 0.13.2、0.14.x < 0.14.1、0.15.0 之前的所有版本

影响范围

使用了 @backstage/backend-defaults 组件且版本低于 0.12.2、0.13.2、0.14.1 或 0.15.0 的 Backstage 后端应用均受影响,特别是配置了 backend.reading.allow 列表并启用了 FetchUrlReader 功能的系统。

风险分析

攻击者若控制了 backend.reading.allow 列表中的某个主机,并能触发该主机返回 HTTP 重定向响应,则可诱使 Backstage 后端向内部网络(如 127.0.0.1、内网服务等)发起请求,从而探测或读取非公开资源。由于无法控制请求头,攻击能力受限,但仍可能导致敏感信息泄露,例如内部服务状态、元数据或配置信息。

修复建议

  • 立即升级 @backstage/backend-defaults 至 0.12.2、0.13.2、0.14.1 或 0.15.0 及以上版本。
  • 若无法立即升级,可采取以下临时缓解措施:
    • 将 backend.reading.allow 限制为仅包含完全受控且不会产生重定向的可信主机;
    • 确保允许列表中的主机不存在开放重定向漏洞;
    • 在网络层面(如防火墙、安全组)阻止 Backstage 服务访问内部敏感端点(如 127.0.0.1、169.254.169.254、内网 IP 段等)。

参考链接