Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Backstage with template-execution rights
-
DeliveryRun Confluence-to-Markdown scaffolder template
-
ExploitSupply repoUrl path with ../ traversal
-
ExecutionAction writes transformed content outside workspace
-
ImpactArbitrary files created in backend-writable locations
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the target Backstage deployment has installed and enabled the @backstage/plugin-scaffolder-backend-module-confluence-to-markdown module (version prior to 0.3.25) and exposes a scaffolder template using its confluence:transform:markdown action. The attacker must be an authenticated Backstage user (PR:L) with permission to execute that template and must control the repository file location/repoUrl input so it includes directory-traversal sequences. Limiting factors: this is an optional, non-default module; authentication and template-execution authorization are required; impact is bounded to filesystem locations writable by the backend process (no confidentiality disclosure). There is no user-interaction requirement on a victim. |
| Impact | This is a moderate-severity path traversal (CWE-22) in the optional @backstage/plugin-scaffolder-backend-module-confluence-to-markdown module, not in Backstage core. The input CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L, 7.1) is internally consistent with the description: an authenticated user (PR:L) who can execute an affected scaffolder template controls the repository file location and can cause content to be written outside the task workspace into locations writable by the backend process (I:H, A:L, no confidentiality impact). No EPSS score, no CISA KEV listing, and no public POC were provided - the only exploitation signal is the vendor security advisory (GHSA-2cmg-v53w-8xfp) and the fix commit, so exploitation status is 'no public exploit identified at time of analysis.' The key mitigating factor is the PR:L requirement plus the need for the target to actually install and expose this specific Confluence-to-Markdown module and let the attacker run its template, which narrows the realistic attacker population to insiders/tenants of a Backstage instance rather than anonymous internet attackers. Net: a legitimate issue worth patching, but a bounded, authentication-gated write-primitive rather than a widespread drive-by threat; absence of EPSS/KEV/POC is consistent with low current real-world exploitation. |
| Exploit ScenarioDerived | An authenticated Backstage user with permission to run a scaffolder template that uses the Confluence-to-Markdown action supplies a repository file location containing path traversal sequences (e.g. a repoUrl path like '.../blob/main/../../outside/mkdocs.yml'). When the action transforms the Confluence content, the generated Markdown/attachment files are written outside the intended task workspace into any directory writable by the Backstage backend process. No public exploit code was identified, but the fix commit's regression tests demonstrate the exact traversal payload. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 07, 2026
Path traversal in Backstage's optional @backstage/plugin-scaffolder-backend-module-confluence-to-markdown package (versions before 0.3.25) allows an authenticated user who can execute a template using the confluence:transform:markdown action and control the repository file location to write generated content outside the task workspace, potentially overwriting files writable by the Backstage backend process. The vulnerability is rated CVSS 7.1 with high integrity and low availability impact but no confidentiality impact; exploitation requires the module to be installed and enabled, and the attacker must supply directory-traversal sequences in the repoUrl input. The issue is fixed in version 0.3.25 (Backstage release v1.54.6), and no public exploit has been identified at time of analysis.
RemediationAI
Upgrade @backstage/plugin-scaffolder-backend-module-confluence-to-markdown to version 0.3.25 or later; the Backstage release v1.54.6 includes the fix as referenced in the vendor advisory GHSA-2cmg-v53w-8xfp and fix commit 5f0000c1d0af05571e357926b3fa33a453337ff0. If immediate upgrade is not possible, disable or remove the confluence:transform:markdown action from any scaffolder templates and restrict template execution to fully trusted users, though this does not eliminate risk from a malicious trusted user. Additionally, run the Backstage backend process with minimal filesystem permissions so that any path traversal writes are confined to non-sensitive directories; the trade-off is that legitimate generated files may fail to be written if permissions are too restrictive.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in npm, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Backstage is an open framework for building developer portals, and its scaffolder subsystem executes software templates that can perform actions such as transforming Confluence content into Markdown. The affected package, @backstage/plugin-scaffolder-backend-module-confluence-to-markdown, implements the confluence:transform:markdown action, which fetches Confluence pages and attachments and writes generated Markdown files into the scaffolder task workspace. The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory, i.e., path traversal): the module fails to properly validate the repository file path derived from the repoUrl input before using it to determine output locations. An authenticated user with template execution rights can supply a repoUrl containing ../ sequences, causing generated content and attachments to be written outside the intended workspace. The CVSS vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L indicates network-based exploitation with low complexity, requiring low privileges (authenticated user), no user interaction, and resulting in high integrity impact, low availability impact, and no confidentiality impact. The fix commit 5f0000c1d0af05571e357926b3fa33a453337ff0 adds path validation that rejects relative paths referring to directories outside the parent, as confirmed by tests such as 'should reject repository file paths outside the workspace' while preserving support for nested workspace directories.
Know when Backstage gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Authenticated user executing a scaffolder template over the network gives AV:N/AC:L/PR:L/UI:N; arbitrary file writes yield I:H and limited A:L with no confidentiality impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorNVD
Lifecycle Timeline
4DescriptionNVD
Backstage is an open framework for building developer portals. Prior to 0.3.25, the @backstage/plugin-scaffolder-backend-module-confluence-to-markdown package is affected by improper repository path validation in a scaffolder backend module. An authenticated user who can execute an affected template and control its repository file location may cause generated content to be written outside the task workspace, within locations writable by the Backstage backend process. This issue is fixed in version 0.3.25.
Technical POC Analysis
Evidence basis: the supplied material is the GHSA-2cmg-v53w-8xfp advisory text only.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A path-traversal weakness in Backstage's optional Confluence-to-Markdown scaffolder module (versions before 0.3.25) allows a user with template-execution privileges to write generated content outside the intended task workspace, potentially overwriting any file the Backstage backend process can write. Only organizations that have installed and enabled this optional plugin, and that let users run scaffolder templates controlling the repository location input, are exposed. Because the flaw is an integrity issue with no confidentiality impact and requires privileged template access, leadership should view it as a developer-portal tampering and build-integrity risk rather than a data-breach event.
Apply vendor patch (0.3.25 / Backstage v1.54.6); if the upgrade cannot be deployed immediately, disable or uninstall the confluence-to-markdown module, remove the confluence:transform:markdown action from permitted templates, enforce repoUrl traversal validation, and run the Backstage backend with least-privilege, narrowly scoped file permissions.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Backstage is an open platform for building developer portals. Rated critical severity (CVSS 9.9), this vulnerability is
Authenticated Backstage users can retrieve the internal execution data of other users' Scaffolder tasks - notably the Se
Authenticated users who can register or modify a TechDocs documentation source can achieve code execution inside the Bac
Authenticated remote code execution in the @backstage/plugin-techdocs-node package shipped with the Backstage developer
Arbitrary code execution in Backstage TechDocs documentation builds allows an authenticated user with write access to a
Arbitrary Python code execution in Backstage's @backstage/plugin-techdocs-node (versions < 1.13.11 and = 1.14.0) lets a
Improper task-state validation in the @backstage/plugin-scaffolder-backend plugin (Backstage versions prior to 3.3.1, 3.
Path traversal in the Backstage Scaffolder Bitbucket pull-request publish actions allows an authenticated user who can e
Arbitrary code execution on the TechDocs backend host is achievable through a sanitizer bypass in the @backstage/plugin-
Improper input validation in the @backstage/plugin-scaffolder-backend-module-sentry scaffolder actions (Backstage 0.3.0
@backstage/plugin-scaffolder-backend is the backend for the default Backstage software templates. Rated high severity (C
Authenticated users of Backstage Scaffolder can bypass administrator-configured action restrictions in @backstage/plugin
EUVD-2026-94373
GHSA-2cmg-v53w-8xfp
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB