Skip to main content

Backstage Kubernetes Plugin CVE-2026-106561

| EUVDEUVD-2026-94374 MEDIUM
Information Exposure (CWE-200)
2026-10-07 GitHub_M GHSA-p795-mqf2-36mf
5.0
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to Backstage with K8s read permission
  2. Exploit
    Query Secrets via custom resources path
  3. Execution
    Receive unmasked data/stringData values
  4. Impact
    Harvest exposed cluster credentials

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V14 - Data Protection Data exposure prevention
MITRE ATT&CK

2 techniques across 2 tactics: Collection, Discovery

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated Backstage user holding the standard Kubernetes resource read permission; exploitation occurs specifically through the custom resources query path of @backstage/plugin-kubernetes-backend, where Secret data and stringData values were not masked before version 0.21.9. Disclosure is strictly limited to Secrets that the Backstage service account's cluster credentials are permitted to read AND that match the targeted catalog entity's namespace and label selector; deployments whose cluster credentials grant no read access to those resources are unaffected. Limiting factors: prior authentication plus the read permission are mandatory, and the service-account RBAC scope caps what can ever be exposed.

Impact

This is a genuine but moderate-severity information-disclosure issue, not a top-priority emergency. The vendor/NVD CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N, base 5.0) indicates a network-reachable, low-complexity flaw that nevertheless requires authentication (PR:L) and yields only limited confidentiality impact with no integrity or availability effect. The scope change (S:C) is appropriate and meaningful here: the Backstage plugin leaks data belonging to a separate security authority (the connected Kubernetes cluster), and the leaked material is credentials/secrets, which raises the practical stakes above what C:L alone suggests. No EPSS score, CISA KEV listing, or public POC was provided in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation - the signals are not conflicting, they are simply absent on the exploitation-likelihood side. The realistic risk is constrained by two factors confirmed in the description: the attacker must already be an authenticated user with the standard Kubernetes resource read permission, and disclosure is bounded to secrets the Backstage service account itself can read within the targeted catalog entity's namespace and label selector. Net: treat as a prioritized patch for environments running the kubernetes-backend plugin with broad service-account RBAC, but it is not a drop-everything internet-facing RCE.

Exploit ScenarioDerived

An authenticated Backstage user who holds the standard Kubernetes resource read permission issues a resource query through the custom resources path for Secret objects. Because redaction was not applied on that path prior to 0.21.9, the response returns the real data and stringData values instead of masked ***, disclosing cluster credentials and other confidential material. No public exploit code was identified at time of analysis, but the commit diff and tests make the mechanism trivially reproducible.

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

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

Alert me

AnalysisAIv1 – Oct 07, 2026

Sensitive information disclosure in the @backstage/plugin-kubernetes-backend package before version 0.21.9 allows an authenticated Backstage user who holds the standard Kubernetes resource read permission to retrieve Kubernetes Secret values that the plugin is designed to mask. The flaw is specifically reachable through the custom resources query path, where both the data and stringData fields of Secrets were returned unmasked, potentially exposing credentials and other confidential material held in connected clusters. Exposure is bounded by the Backstage service account's RBAC scope and by the targeted catalog entity's namespace and label selector, so deployments whose cluster credentials cannot read those resources are unaffected; there is no public exploit code identified at time of analysis and the issue carries a moderate CVSS of 5.0.

RemediationAI

Apply the vendor-released patch by upgrading @backstage/plugin-kubernetes-backend to 0.21.9 or later, or upgrade the Backstage distribution to v1.54.2 where the fix ships (the upstream change is commit 388926ae5734bc20bd6a1520d02896be834f6527, referenced from advisory GHSA-p795-mqf2-36mf). Because exposure flows through the custom resources query path, a compensating control for environments that cannot upgrade immediately is to disable or restrict the custom resources configuration (the customResources entries in the Kubernetes plugin's cluster/entity configuration) so that Secrets cannot be requested via group/apiVersion/plural tuples, accepting that this removes legitimate custom-resource visibility for that entity; alternatively, temporarily revoke the Kubernetes service account's get/list permission on secrets in the connected clusters, which stops the disclosure at the source but will break any Backstage feature that legitimately reads Secret metadata. Tightening the label selectors and namespaces attached to catalog entities reduces the number of Secrets reachable, and reviewing the read permission granted to standard Backstage users limits who can trigger the query path.

Affected VersionsENISA

plugin-kubernetes-backend < 0.21.9
backstage < 1.54.2

Affected Packages

npm @backstage/plugin-kubernetes-backend fix: 0.21.9
euvd backstage fix: 1.54.2
euvd plugin_kubernetes_backend fix: 0.21.9

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 vulnerability is rooted in CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) and lives in the KubernetesClientBasedFetcher's resource transformation logic of @backstage/plugin-kubernetes-backend. Backstage is an open framework for building developer portals, and this backend plugin brokers queries against connected Kubernetes clusters on behalf of catalog entities. Secret redaction was implemented only for the standard secrets object type and for responses whose list kind resolved to SecretList; the custom resources query path supplied a user-controlled group/apiVersion/plural tuple (for example group '', apiVersion 'v1', plural 'secrets'), so a SecretList returned through that path bypassed the masking branch entirely. Additionally, redaction covered only the data field, leaving the stringData field - which can carry plaintext secret material - untouched. The upstream fix (commit 388926ae5734bc20bd6a1520d02896be834f6527) normalizes the singular kind from the list kind and extends redaction to both objectType === 'secrets' and any resource whose kind resolves to Secret, masking both data and stringData values as ***, while explicitly leaving non-Secret custom resources unredacted. The CVSS scope change (S:C) reflects that the exposed data belongs to external Kubernetes clusters rather than the Backstage host itself.

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_M) PRIMARY 5.0 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N
vuln.today AI 5.0 MEDIUM

Network API access with low complexity; PR:L because a valid user with K8s read permission is required; S:C because leaked secrets belong to the separate cluster authority; only limited confidentiality impact.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

1
Patch available
Oct 07, 2026 - 16:02 EUVD

DescriptionCVE.org

Backstage is an open framework for building developer portals. Prior to 0.21.9, the @backstage/plugin-kubernetes-backend package is affected by sensitive information disclosure in kubernetes resource queries. An authenticated user holding the standard Kubernetes resource read permission could retrieve sensitive values that the Kubernetes plugin is designed to mask, potentially exposing credentials and other confidential material held in the connected clusters. Exposure is limited to resources that the Backstage service account is permitted to read and that match the targeted catalog entity's namespace and label selector. Deployments whose cluster credentials do not grant read access to these resources are unaffected. This issue is fixed in version 0.21.9.

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Medium
popular CNCF developer-portal framework, optional kubernetes-backend plugin
Threat Intel
1
1 source
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.2%
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

25
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +25
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-2026-106486 CRITICAL
9.9 Oct 06

The Bitbucket pull-request Scaffolder actions in Backstage can be abused by an authenticated user with template-executio

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-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