Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSet malicious Confluence attachment title (../../)
-
DeliveryBackstage user runs scaffolder template
-
ExploitModule fetches attacker-controlled attachment
-
ExecutionPath traversal escapes docs/img directory
-
ImpactArbitrary file write in workspace
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 | The Confluence-to-Markdown scaffolder module (@backstage/plugin-scaffolder-backend-module-confluence-to-markdown) must be installed and wired into a scaffolder template. The specific trigger is an attacker-controlled Confluence attachment title (e.g. '../../screenshot.png') that the module's getAndWriteAttachments helper used to concatenate directly into the write path (workspace/mkdocsDir/docs/img/<title>) without safe path resolution. Exploitation is LIMITED by: (1) an authenticated Backstage user (PR:L) must actively execute a template that targets the attacker-influenced Confluence space (UI:R); (2) the attacker must be able to create or modify Confluence content/attachment metadata consumed by that template; and (3) the vulnerable optional module must be deployed. It is not reachable by an unauthenticated remote attacker against a default Backstage install. |
| Impact | The provided CVSS 3.1 vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:L, base 6.3 Medium) tells a coherent but constrained story: the attack vector is network-reachable, but exploitation is gated by two significant friction points - PR:L means an authenticated (low-privilege) Backstage user is involved, and UI:R means that user must actively run a scaffolder template. The impact is integrity-focused (I:H, file write), with no confidentiality loss (C:N) and only minor availability impact (A:L), consistent with the CWE-22 path traversal that lets an attacker influence file write locations. No EPSS score is provided in the input, so exploitation probability cannot be quantified. The CVE is not listed in CISA KEV and no public exploit code is referenced - only the vendor fix commit and advisory are present - so there is no public exploit identified at time of analysis. No SSVC decision data is supplied. Netting these signals: this is a real but secondary-priority issue. The network attack vector overstates reach because actual exploitation depends on a trusted internal workflow (a user running a template that ingests attacker-controlled Confluence content) rather than direct remote compromise. It is more of a 'malicious/compromised Confluence content poisons an internal automation step' threat than an internet-facing RCE. Teams running the affected optional module should patch, but this is not an emergency on the level of an unauthenticated, no-interaction flaw. |
| Exploit ScenarioDerived | An attacker who can create or edit Confluence content sets an attachment title to a traversal string such as '../../screenshot.png'. A Backstage user later runs a scaffolder template that uses the confluence-to-markdown module against that Confluence space; the module downloads the attachment and writes it to a path resolved outside the intended docs/img directory, corrupting or planting files elsewhere in the workspace. No public exploit code is referenced, though the vendor patch and a regression test demonstrating the traversal are publicly visible. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 07, 2026
Path traversal in the Backstage Confluence-to-Markdown scaffolder module can let an authenticated Backstage user who runs a template with attacker-influenced Confluence content cause file writes outside the intended image directory, affecting integrity and potentially availability of the scaffolder workspace. The vulnerable package is @backstage/plugin-scaffolder-backend-module-confluence-to-markdown before 0.3.25; exploitation requires the optional module to be deployed and wired into a template, plus an attacker able to create or modify Confluence attachment metadata. There is no public exploit identified at time of analysis, and the issue is fixed in version 0.3.25 and Backstage release v1.54.6.
RemediationAI
Vendor-released patch: upgrade @backstage/plugin-scaffolder-backend-module-confluence-to-markdown to 0.3.25 or later; for Backstage core, the related release is v1.54.6 per the GitHub release reference. Apply the fix commit 506c2c11bce3ed9d1f8f50de5d6474b16e43a65e if you maintain a fork or pinned build, and consult the advisory GHSA-75qf-886x-5xf2. If immediate upgrade is not possible, remove or disable the Confluence-to-Markdown scaffolder module and avoid wiring it into templates that process untrusted Confluence spaces; this removes the vulnerable action but also removes the templating capability that depends on it. Restrict who can create or modify Confluence content/attachments consumed by templates, limit scaffolder template execution to trusted users, and validate/sanitize attachment titles before they reach filesystem writes; these controls reduce exposure but do not fully replace the safe-path fix because the root cause is the unchecked write path.
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
The root cause is CWE-22 path traversal and improper input validation in the getAndWriteAttachments helper of @backstage/plugin-scaffolder-backend-module-confluence-to-markdown. The module fetches Confluence pages and attachments, then writes attachments into mkdocs docs/img using the attachment title as a filename. Before the fix, it concatenated the title directly into the filesystem path (workspace/mkdocsDir/docs/img/${downloadTitle}), so a title such as '../../screenshot.png' could escape the intended directory. The fix imports resolveSafeChildPath from @backstage/backend-plugin-api and resolves both the image directory and the final file path safely; the added test rejects the traversal title with 'Relative path is not allowed to refer to a directory outside its parent'. CPE data identifies Backstage and the module package. The CVSS vector shows network reachability but requires low privilege and user interaction; confidentiality is not impacted, while integrity is high and availability is low.
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:N/UI:R/S:U/C:N/I:H/A:N
Network-fetched Confluence content (AV:N) but a low-privilege user must run the template (PR:L, UI:R); impact is attacker-influenced file write (I:H), no data read (C:N), minor disruption (A:L).
Primary rating from Vendor (GitHub_M).
CVSS VectorNVD
Lifecycle Timeline
2DescriptionNVD
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 input validation in confluence to markdown scaffolder module. Insufficient input validation in the Confluence to Markdown scaffolder module could allow an attacker to influence file write operations during template execution. Exploitation requires a Backstage user to run a template that processes attacker-influenced Confluence content. This issue is fixed in version 0.3.25.
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-94372
GHSA-75qf-886x-5xf2
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB