漏洞概述

Backstage 是一个用于构建开发者门户的开源框架。其多个 Scaffolder 动作和归档解压工具存在基于符号链接(symlink)的路径遍历漏洞。攻击者若具备创建和执行 Scaffolder 模板的权限,可通过构造恶意符号链接读取任意文件(如 /etc/passwd、配置文件、密钥等)、删除任意文件,或在解压 tar/zip 归档时将文件写入工作区外路径。该漏洞影响所有允许用户创建或执行 Scaffolder 模板的 Backstage 部署环境。

漏洞详情

  • CVE 编号:CVE-2026-24046
  • 漏洞类型:路径遍历(CWE-22)、符号链接问题(CWE-59)
  • CVSS 评分:7.1(HIGH)
    CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:L
  • 影响版本:
    • @backstage/backend-defaults:低于 0.12.2、0.13.2、0.14.1、0.15.0
    • @backstage/plugin-scaffolder-backend:低于 2.2.2、3.0.2、3.1.1
    • @backstage/plugin-scaffolder-node:低于 0.11.2、0.12.3

影响范围

所有部署了受影响版本 Backstage 组件、且允许用户创建或执行 Scaffolder 模板的系统均受此漏洞影响。特别是未对模板创建与执行权限进行限制的环境风险更高。

风险分析

具备低权限的攻击者可远程利用该漏洞,通过精心构造的符号链接实现以下攻击:
– **信息泄露**:通过 debug:log 动作读取敏感系统或应用文件;
– **拒绝服务**:通过 fs:delete 动作删除关键文件;
– **任意文件写入**:在归档解压过程中将恶意内容写入非预期路径。
由于漏洞作用域为“已更改”(Scope: Changed),攻击可能影响超出 Backstage 应用本身的系统资源。

修复建议

  • 立即升级至以下安全版本或更高:
    @backstage/backend-defaults:0.12.2、0.13.2、0.14.1 或 0.15.0
    @backstage/plugin-scaffolder-backend:2.2.2、3.0.2 或 3.1.1
    @backstage/plugin-scaffolder-node:0.11.2 或 0.12.3
  • 若无法立即升级,建议采取以下临时缓解措施:
    – 依据 Backstage 威胁模型,严格限制用户创建和更新模板的权限;
    – 使用权限框架控制 Scaffolder 模板的执行权限;
    – 审计现有模板中是否存在符号链接使用;
    – 在容器化环境中运行 Backstage,并限制其文件系统访问权限。

参考链接