Skip to main content

Backstage EUVDEUVD-2026-94057

| CVE-2026-106499 MEDIUM
Insertion of Sensitive Information into Log File (CWE-532)
2026-10-06 security-advisories@github.com GHSA-mfvq-x7vr-rgqg
4.9
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain Scaffolder template-authoring privileges
  2. Delivery
    Create template iterating transformed environment.secrets in an each loop
  3. Exploit
    Trigger task execution that logs iteration values
  4. Execution
    Secret-derived value persisted unredacted to task log
  5. Impact
    Read exposed secret from accessible task logs

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

Exploitation requires a specific non-default configuration AND privileged access. First, the deployment must populate sensitive values in scaffolder.defaultEnvironment.secrets (without configured secrets there is nothing to leak). Second, the attacker must already hold the privileged capability to create or modify Scaffolder templates (reflected as PR:H). Third, the malicious template must use secret-derived values inside an 'each' iteration where the value is passed through a transforming Nunjucks filter (e.g. upper, replace, or a custom filter such as toSecretKeyedObject), because untransformed secrets were already redacted - only transformed/derived forms escaped redaction. Finally, a reader must have access to the resulting task logs to actually obtain the value. Limiting factors: no anonymous/unauthenticated path, requires trusted template-author role, requires secrets to be configured at all, and requires log-read access - making realistic risk substantially lower than the C:H rating alone suggests.

Impact

This is a genuinely moderate, hard-to-exploit information-disclosure issue rather than a high-urgency flaw, and the signals are consistent in pointing that way. The CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N, base 4.9 MEDIUM) shows high confidentiality impact but gated behind PR:H - the attacker must already hold the privileged ability to author or modify Scaffolder templates, which in most Backstage deployments is a trusted role. No EPSS score, KEV listing, or POC was provided in the intelligence, so there is no evidence of active or probable exploitation; exploitation status is 'no public exploit identified at time of analysis.' Two conditions must BOTH hold: the deployment must configure real secrets in scaffolder.defaultEnvironment.secrets, AND an attacker must already be a (malicious or compromised) template author, AND finally a victim must be able to read the resulting task logs. The high-privilege precondition plus the non-default secret configuration requirement sharply narrow real-world exposure despite the C:H rating. This should be patched on a normal maintenance cadence, not treated as an emergency. One versioning nuance to verify: the description says 'prior to 4.1.0 / fixed in 4.1.0' (the @backstage/plugin-scaffolder-backend package version), while the NVD reference points to release tag v1.54.6 (the umbrella Backstage release) - these are not conflicting, they are two different version namespaces, but operators should confirm which they track.

Exploit ScenarioDerived

A user with Scaffolder template-authoring rights in a Backstage instance that has secrets configured under scaffolder.defaultEnvironment.secrets writes a template that iterates (via an 'each' loop) over a secret value passed through a transforming filter such as upper or replace. Because transformed secret-derived values were not redacted, the resolved secret is persisted into the Scaffolder task log, where any user able to view that task's logs can read it. No public exploit code was identified in the provided intelligence; the fix in 4.1.0 extends log redaction to these transformed iteration values.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 06, 2026

Secret-derived values used during Scaffolder template iteration in Backstage can leak into task logs, exposing configured scaffolder.defaultEnvironment.secrets to anyone who can read those logs. Affected deployments run the @backstage/plugin-scaffolder-backend package prior to version 4.1.0, and exploitation requires a privileged, authenticated template author (PR:H in the CVSS vector) plus a deployment that has populated sensitive values in scaffolder.defaultEnvironment.secrets. The flaw only manifests when secret-derived values pass through a transforming Nunjucks filter inside an 'each' loop, since untransformed secrets were already redacted; no public exploit code has been identified at time of analysis and there is no confirmed active exploitation (not in CISA KEV). Realistic risk is moderate given the layered prerequisites, though the confidentiality impact for exposed credentials is high.

RemediationAI

Upgrade @backstage/plugin-scaffolder-backend to version 4.1.0 or later, or update to the Backstage release v1.54.6 (https://github.com/backstage/backstage/releases/tag/v1.54.6); the change is a patch-level update and the diff can be reviewed at https://github.com/backstage/backstage/commit/dc30fae2d96cb1606d36cc40b242f9b9e539bd70, with details in the advisory GHSA-mfvq-x7vr-rgqg. If immediate upgrade is not possible, compensating controls include: removing sensitive values from scaffolder.defaultEnvironment.secrets and supplying them via a dedicated secret-management action rather than environment templating, which eliminates the leak path but requires reworking template inputs; tightening the Scaffolder template-authoring permission so only the most trusted principals can create or modify templates, which directly removes the PR:H prerequisite; and restricting read access to Scaffolder task logs or disabling persistent task-log storage for templates that consume secrets, though this reduces operational debuggability. Note that log redaction operates on display, so any secret value already persisted by a vulnerable version should be treated as compromised and rotated.

Affected VersionsENISA

plugin-scaffolder-backend < 4.1.0
backstage < 1.54.6

Affected Packages

npm @backstage/plugin-scaffolder-backend fix: 4.1.0
euvd backstage fix: 1.54.6
euvd plugin_scaffolder_backend fix: 4.1.0

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 issue is a classic CWE-532 (Insertion of Sensitive Information into Log File) rooted in Backstage's Scaffolder task-log redaction logic. Backstage uses the Nunjucks templating engine inside NunjucksWorkflowRunner to render Scaffolder step definitions, including 'each' iterations that build context objects such as each.value and each.key. The runner maintains an environment.secrets / task.secrets set and scrubs raw secret strings from logs, but the pre-patch implementation compared resolved iteration values against the original secret set. When a template applies a transforming filter - for example upper, replace, or a custom filter like toSecretKeyedObject - the secret is mutated into a derived value that no longer matches the raw secret, so the redaction routine fails to recognize it and the derived value is persisted to task logs. The upstream fix (commit dc30fae) resolves each iteration a second time against a context with secrets stripped (preparedPreIterationContextNoSecrets), discovers which rendered iteration entries are secret-derived, and redacts those entries before any logging or execution. The updated tests demonstrate redaction of upper-cased, replace-transformed, and key-derived secret values while leaving genuinely public iteration values intact.

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

Vendor (github) PRIMARY 4.9 MEDIUM
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 4.9 MEDIUM

Template authoring is a privileged capability (PR:H) over the network-facing portal (AV:N/AC:L); impact is secret disclosure only (C:H, I:N, A:N) with no scope change.

3.1 AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Red Hat 4.9 MEDIUM

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

1
Patch available
Oct 06, 2026 - 23:05 EUVD

DescriptionCVE.org

Backstage is an open framework for building developer portals. Prior to 4.1.0, the @backstage/plugin-scaffolder-backend package could expose secret-derived values in Scaffolder task logs. Deployments that configure sensitive scaffolder.defaultEnvironment.secrets and allow an attacker to create or modify Scaffolder templates are affected. A template author could cause secret-derived values used during template iteration to be persisted and exposed to users who can access the resulting task logs. This issue is fixed in version 4.1.0.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Medium
Backstage is a popular CNCF developer-portal framework, common but not universal in enterprises
Threat Intel
1
1 sources
Data Quality
6 sources
Confidence: High
EUVD 🇯🇵JVN NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

24
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +24
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2023-35926 CRITICAL
9.9 Jun 22

Backstage is an open platform for building developer portals. Rated critical severity (CVSS 9.9), this vulnerability is

CVE-2026-106501 CRITICAL
9.6 Oct 06

Authenticated Backstage users can retrieve the internal execution data of other users' Scaffolder tasks - notably the Se

CVE-2026-88064 HIGH
8.8 Sep 16

Authenticated users who can register or modify a TechDocs documentation source can achieve code execution inside the Bac

CVE-2026-106558 HIGH
8.8 Oct 07

Authenticated remote code execution in the @backstage/plugin-techdocs-node package shipped with the Backstage developer

CVE-2026-106509 HIGH
8.8 Oct 06

Arbitrary code execution in Backstage TechDocs documentation builds allows an authenticated user with write access to a

CVE-2026-25153 HIGH
8.8 Jan 30

Arbitrary Python code execution in Backstage's @backstage/plugin-techdocs-node (versions < 1.13.11 and = 1.14.0) lets a

CVE-2026-106500 HIGH
8.5 Oct 06

Improper task-state validation in the @backstage/plugin-scaffolder-backend plugin (Backstage versions prior to 3.3.1, 3.

CVE-2026-106486 HIGH
8.5 Oct 06

Path traversal in the Backstage Scaffolder Bitbucket pull-request publish actions allows an authenticated user who can e

CVE-2026-106505 HIGH
8.5 Oct 06

Arbitrary code execution on the TechDocs backend host is achievable through a sanitizer bypass in the @backstage/plugin-

CVE-2026-106459 HIGH
8.5 Oct 06

Improper input validation in the @backstage/plugin-scaffolder-backend-module-sentry scaffolder actions (Backstage 0.3.0

CVE-2021-43783 HIGH
8.5 Nov 29

@backstage/plugin-scaffolder-backend is the backend for the default Backstage software templates. Rated high severity (C

CVE-2026-106503 HIGH
8.1 Oct 06

Authenticated users of Backstage Scaffolder can bypass administrator-configured action restrictions in @backstage/plugin

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy