Skip to content

Conversation

@backstage-goalie
Copy link
Contributor

@backstage-goalie backstage-goalie bot commented Jan 29, 2026

This PR contains the following updates:

Package Change Age Confidence
@backstage/plugin-scaffolder-node (source) 0.12.20.12.3 age confidence
@backstage/plugin-scaffolder-node (source) 0.11.10.11.2 age confidence
@backstage/plugin-scaffolder-node (source) ^0.10.0^0.11.0 age confidence

Backstage has a Possible Symlink Path Traversal in Scaffolder Actions

CVE-2026-24046 / GHSA-rq6q-wr2q-7pgp

More information

Details

Impact

Multiple Scaffolder actions and archive extraction utilities were vulnerable to symlink-based path traversal attacks. An attacker with access to create and execute Scaffolder templates could exploit symlinks to:

  1. Read arbitrary files via the debug:log action by creating a symlink pointing to sensitive files (e.g., /etc/passwd, configuration files, secrets)
  2. Delete arbitrary files via the fs:delete action by creating symlinks pointing outside the workspace
  3. Write files outside the workspace via archive extraction (tar/zip) containing malicious symlinks

This affects any Backstage deployment where users can create or execute Scaffolder templates.

Patches

This vulnerability is fixed in the following package versions:

  • @backstage/backend-defaults version 0.12.2, 0.13.2, 0.14.1, 0.15.0
  • @backstage/plugin-scaffolder-backend version 2.2.2, 3.0.2, 3.1.1
  • @backstage/plugin-scaffolder-node version 0.11.2, 0.12.3

Users should upgrade to these versions or later.

Workarounds
  • Follow the recommendation in the Backstage Threat Model to limit access to creating and updating templates
  • Restrict who can create and execute Scaffolder templates using the permissions framework
  • Audit existing templates for symlink usage
  • Run Backstage in a containerized environment with limited filesystem access
References

Severity

  • CVSS Score: Unknown
  • Vector String: CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:L

References

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).


Release Notes

backstage/backstage (@​backstage/plugin-scaffolder-node)

v0.12.3

Compare Source

Patch Changes

Configuration

📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

🚦 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.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@backstage-goalie backstage-goalie bot force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 11fba83 to 1ceab8b Compare January 29, 2026 17:00
@backstage-service backstage-service force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 1ceab8b to 3d0651d Compare January 29, 2026 17:02
@backstage-goalie backstage-goalie bot force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 3d0651d to 54584d9 Compare January 29, 2026 18:00
@backstage-service backstage-service force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 54584d9 to 6dfe3d9 Compare January 29, 2026 18:01
@backstage-goalie backstage-goalie bot force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 6dfe3d9 to 704df28 Compare January 29, 2026 18:58
@backstage-service backstage-service force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 704df28 to 35b07ab Compare January 29, 2026 18:59
@hopehadfield
Copy link
Contributor

hopehadfield commented Jan 29, 2026

@awanlin seems like the update to the renovate config didn't work considering this was opened again (along with #7349 and #7348) 😅 taking a look at the Dependency Dashboard it seems like there aren't any vulnerability alerts being produced:

⚠️ WARN: Cannot access vulnerability alerts. Please ensure permissions have been granted.

I think it's safe to assume that the OSV vulnerability alerts are the source of all the security related Renovate PRs, so I think this is what we need to disable for the Backstage packages. I'll put up another PR to see if we can get these disabled finally Looking into whether or not this can be disabled in packageRules... sorry for missing this the first time around!

Update: if you expand 'More Information' there is a clear indicator that the source of this is the OSV vulnerability alerts 👍

This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).

@backstage-goalie backstage-goalie bot force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 35b07ab to 5bc22e8 Compare January 29, 2026 19:57
@backstage-service backstage-service force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 5bc22e8 to 5c6c1ae Compare January 29, 2026 19:57
@backstage-goalie backstage-goalie bot force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 5c6c1ae to 51797dc Compare January 29, 2026 20:54
@backstage-service backstage-service force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 51797dc to 92fb4fc Compare January 29, 2026 20:54
@backstage-goalie backstage-goalie bot force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 92fb4fc to 2527095 Compare January 29, 2026 21:55
@backstage-service backstage-service force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 2527095 to bee5691 Compare January 29, 2026 21:55
@backstage-goalie backstage-goalie bot force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from bee5691 to 0ea32cf Compare January 29, 2026 22:53
@backstage-service backstage-service force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 0ea32cf to 4751c19 Compare January 29, 2026 22:53
@backstage-goalie backstage-goalie bot force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 4751c19 to 5cf3b38 Compare January 29, 2026 23:53
@backstage-service backstage-service force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 5cf3b38 to ee2021b Compare January 29, 2026 23:53
@backstage-goalie backstage-goalie bot force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from ee2021b to 347db26 Compare January 30, 2026 00:59
@backstage-service backstage-service force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 347db26 to 09b77a5 Compare January 30, 2026 01:00
@backstage-goalie backstage-goalie bot force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 09b77a5 to 5f0b2cd Compare January 30, 2026 02:22
@backstage-service backstage-service force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 5f0b2cd to 0e80da9 Compare January 30, 2026 02:22
@backstage-goalie backstage-goalie bot force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 0e80da9 to 9610fe7 Compare January 30, 2026 03:44
@backstage-service backstage-service force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 9610fe7 to 2a958af Compare January 30, 2026 03:44
@backstage-goalie backstage-goalie bot force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 2a958af to 6def19e Compare January 30, 2026 04:32
@backstage-service backstage-service force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 6def19e to f28180d Compare January 30, 2026 04:33
@backstage-goalie backstage-goalie bot force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from f28180d to 0df1e1c Compare January 30, 2026 05:25
@backstage-service backstage-service force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 0df1e1c to 8181933 Compare January 30, 2026 05:26
@backstage-goalie backstage-goalie bot force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 8181933 to 01b2ad1 Compare January 30, 2026 06:07
@backstage-service backstage-service force-pushed the renovate/npm-backstage-plugin-scaffolder-node-vulnerability branch from 01b2ad1 to ed51dc5 Compare January 30, 2026 06:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants