Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Backstage portal
-
DeliveryTrigger Scaffolder template with secrets
-
ExploitInduce task/checkpoint execution failure
-
ExecutionRead failure event containing unredacted credentials
-
ImpactReuse backend-managed secrets
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A09:2025 - Security Logging & Alerting Failures
ASVS 5.0
V16 - Security Logging and Error Handling Log data sanitization
|
| Exploitation Conditions | Requires an authenticated Backstage user (PR:L) who can run or view a Scaffolder task, plus a template/task that (a) uses backend-managed credentials/secrets during execution and (b) fails along a specific path - the tests show checkpoint persistence failures and action errors whose reason/name/message strings embedded secret values that were not passed through the configured log redaction. The leak surfaces in Scaffolder task failure events the user can retrieve. Limiting factors that reduce real-world risk: valid authentication is mandatory, the failure/template conditions are narrow (AC:H), only deployments that actually inject secrets into scaffolder tasks are exposed, and the data is confidentiality-only (no integrity or availability impact). Installations on 4.1.0 / Backstage v1.54.6 or later are not affected. |
| Impact | This is a genuine but moderate-priority information-disclosure flaw (CWE-532) rather than a critical, widely-weaponizable one, and the signals are internally consistent. The CVSS 3.1 vector (AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N, base 5.3) tells a coherent story: network-reachable but requiring an authenticated user (PR:L) and high attack complexity (AC:H), with confidentiality-only impact (C:H/I:N/A:N). The AC:H is directly corroborated by the description ('Under specific template and failure conditions'), so the network vector is not misleading - exploitation depends on a narrow task-failure code path, not a simple request. No EPSS score, KEV listing, or SSVC decision data was supplied, and there is no public exploit identified at time of analysis - the only source-code artifact is the vendor's own fix commit plus regression tests (secret redaction in NunjucksWorkflowRunner), which is remediation evidence, not proof-of-concept exploit code. The absence of KEV/EPSS is not itself a risk-lowering signal; it simply means prioritization must rest on the CVSS profile and the credential-exposure consequence. Net: prioritize patching for environments that run Scaffolder with secrets, but this is not an emergency drive-by-exploitable issue given the authentication and specific-condition requirements. |
| Exploit ScenarioDerived | An authenticated Backstage user triggers a Scaffolder template whose task execution fails along a specific path (e.g. a checkpoint or action error) where backend-managed credentials were interpolated and not covered by log redaction. The resulting task failure event, which the user can read, embeds those credentials in its error/reason text, letting the user harvest secrets they were never meant to see. No public exploit is identified; high attack complexity (AC:H) means the failure/template conditions must align for the leak to occur. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 06, 2026
Information disclosure in the Backstage Scaffolder backend (@backstage/plugin-scaffolder-backend) prior to 4.1.0 allows an authenticated user who can run or view a Scaffolder task to recover backend-managed credentials from persisted task failure events. When a template injects secrets (for example via ${{ secrets.secret }}) into an action or checkpoint and that step fails, the raw secret values were written into the failure reason, error name, and error message without passing through the configured log redaction, and nested error objects were attached to the surfaced error. Exploitation requires a valid Backstage account (PR:L) and a narrow combination of template content and failure path (AC:H), so this is a genuine but moderate-priority CWE-532 leak rather than a broadly weaponizable flaw; no public exploit has been identified at time of analysis, and installations on @backstage/plugin-scaffolder-backend 4.1.0 or Backstage v1.54.6 and later are not affected.
RemediationAI
Vendor-released patch: upgrade @backstage/plugin-scaffolder-backend to 4.1.0 (equivalent to Backstage v1.54.6 or later); the release notes and fix commit 3f1e869708f002fb9838624b7379deb251691b47 are at https://github.com/backstage/backstage/releases/tag/v1.54.6 and https://github.com/backstage/backstage/commit/3f1e869708f002fb9838624b7379deb251691b47, with full details in advisory https://github.com/backstage/backstage/security/advisories/GHSA-95p4-vv4g-jxxm. If immediate upgrade is not possible, ensure the deployment's log redaction configuration covers all secrets injected into Scaffolder templates and restrict who can execute Scaffolder tasks and read task events (RBAC on the task-events API and UI) to the smallest trusted set of users, accepting the operational trade-off of reduced self-service. Additional compensating controls include avoiding the injection of long-lived backend credentials into templates in favor of short-lived, narrowly scoped tokens, and auditing/rotating any credentials that were previously exposed through task failure events, since redaction applied after the fact cannot un-leak values already persisted. Because exploitability depends on an authenticated user and a specific failure path and there is no integrity or availability impact, prioritizing the upgrade alongside credential rotation is proportionate to the moderate risk.
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 affected component is the Scaffolder task execution engine in Backstage, specifically the NunjucksWorkflowRunner in @backstage/plugin-scaffolder-backend, which renders template steps with Nunjucks and executes registered template actions. Secrets referenced in templates are resolved at runtime and, in the vulnerable versions, could be interpolated directly into error strings that were then persisted into task events such as checkpoint update reasons and failed-step logs. The root cause is CWE-532 (Insertion of Sensitive Information into Log File): failure details were serialized into the task event stream without applying the deployment's configured log redactions, and errors were surfaced as an AggregateError whose nested 'errors' property retained the unredacted inner errors. The upstream fix makes task failure details honor configured log redactions and stops attaching nested error payloads, replacing the AggregateError with a generic message such as "Checkpoint 'key' failed and its failure state could not be persisted"; tests in the commit verify that secret values and their transformed (e.g., upper-cased) forms are replaced with '***' in both thrown errors and persisted checkpoint reasons. The CVSS vector AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N reflects remote reachability, high attack complexity due to the required failure/template conditions, low privileges (authenticated user), no user interaction, and a confidentiality-only impact confined to the vulnerable component.
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:H/PR:L/UI:N/S:U/C:H/I:N/A:N
Authenticated portal user (PR:L) over the network (AV:N), AC:H because leak needs specific template and failure conditions; confidentiality-only credential exposure (C:H), no integrity or availability impact.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
1DescriptionCVE.org
Backstage is an open framework for building developer portals. Prior to 4.1.0, the @backstage/plugin-scaffolder-backend package could expose sensitive information in Scaffolder task failure events. Under specific template and failure conditions, an authenticated user may retrieve backend-managed credentials used during task execution from affected task events. This issue is fixed in version 4.1.0.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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-94060
GHSA-95p4-vv4g-jxxm
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB