Skip to main content

Backstage Kubernetes Plugin CVE-2026-106563

| EUVDEUVD-2026-94376 MEDIUM
Improper Input Validation (CWE-20)
2026-10-07 GitHub_M GHSA-r9ph-3637-55px
6.5
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as user with K8s read permission
  2. Exploit
    Craft entity data to deprecated /services endpoint
  3. Execution
    Bypass improper entity validation
  4. Impact
    Read Kubernetes object metadata across configured clusters

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
Exploitation Conditions

Attacker must be an authenticated Backstage user who already holds Kubernetes read permissions (PR:L), and must target the specific DEPRECATED kubernetes services endpoint (POST /api/kubernetes/services/:serviceId in @backstage/plugin-kubernetes-backend) by supplying crafted entity data in the request body that the vulnerable code passes through without resolving it against the catalog. Limiting factors: exploitation is impossible for unauthenticated users or users lacking Kubernetes read permission; it only affects the deprecated services endpoint (not current endpoints); the result is read-only Kubernetes object metadata with no integrity or availability impact; and the high attack complexity (AC:H) reflects the need to craft an entity reference that evades validation. Not exploitable against instances already on @backstage/plugin-kubernetes-backend 0.21.8 or later.

Impact

This is a moderate, authorization-boundary (CWE-20) issue rather than a high-urgency priority. The provided CVSS 3.1 vector (AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N = 5.3) indicates network reachability but requires existing low privileges (PR:L) AND high attack complexity (AC:H), which materially constrains real-world exploitation. Exploitation status is 'no public exploit identified at time of analysis' - no POC, no EPSS score, and no CISA KEV listing were provided, so there is no evidence of active or at-scale exploitation; this looks like a privilege-scoping/IDOR-style defect most relevant to multi-tenant Backstage deployments. One signal to flag: the vendor rated C:H, but the description explicitly limits exposure to 'read-only access to Kubernetes object metadata' - no integrity or availability impact and no write/code execution - so the C:H rating is arguably generous for metadata-only disclosure; verify sensitivity of exposed metadata against your environment. Net: real but low-to-moderate priority, driven by the need for a pre-authenticated user who already holds Kubernetes read permissions.

Exploit ScenarioDerived

An authenticated Backstage user who already holds Kubernetes read permissions issues a request to the deprecated kubernetes services endpoint with crafted entity data that is not properly resolved against the catalog, causing the backend to return Kubernetes workload metadata for clusters/entities outside the user's intended authorization scope. No public exploit code was identified, and the high attack complexity (AC:H) means the attacker must shape the entity reference payload precisely to bypass validation.

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

Improper entity validation in the deprecated Kubernetes services endpoint of @backstage/plugin-kubernetes-backend lets an authenticated Backstage user who already holds Kubernetes read permissions retrieve Kubernetes object metadata beyond their intended scope by submitting crafted entity data in the request body. The vulnerable handler trusted the caller-supplied entity reference instead of resolving it against the Backstage catalog, so the request was processed against an entity the user was not authorized for; the fix (0.21.8) parses the entity reference and performs a catalog lookup, returning 403 when no matching entity exists. Exposure is limited to read-only Kubernetes object metadata across configured clusters with no integrity or availability impact, and no public exploit code has been identified at time of analysis; exploitation is constrained to the legacy deprecated services endpoint and requires a crafted request that evades validation (AC:H).

RemediationAI

Vendor-released patch: upgrade @backstage/plugin-kubernetes-backend to 0.21.8 (or bump the Backstage distribution to v1.54.1), per the advisory at https://github.com/backstage/backstage/security/advisories/GHSA-r9ph-3637-55px; the fixing commit is https://github.com/backstage/backstage/commit/2d5d3e77d630455d6d48cfa8f31fd3c126fd6f29. If immediate upgrading is not possible, the highest-value compensating control is to stop exposing the deprecated services endpoint - remove or block POST /api/kubernetes/services/:serviceId at the reverse proxy or ingress, or unregister the legacy router; the trade-off is that any legacy integrations still depending on that endpoint will break, but current Kubernetes backend endpoints remain functional. Because the flaw is authorization-boundary limited, review and tighten Kubernetes RBAC so that Backstage service accounts and their permission framework bindings grant the minimum necessary read scope, reducing the blast radius of any metadata that could be returned; this is defense-in-depth only and does not substitute for the patch. Finally, audit logs for requests to the deprecated services endpoint carrying entity bodies that do not correspond to catalog entities, since the fixed code surfaces those as 403 with an audit-event failure.

Affected VersionsENISA

backstage < 1.54.1
plugin-kubernetes-backend < 0.21.8

Affected Packages

npm @backstage/plugin-kubernetes-backend fix: 0.21.8
euvd backstage fix: 1.54.1
euvd plugin_kubernetes_backend fix: 0.21.8

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 @backstage/plugin-kubernetes-backend is its backend plugin that brokers read access to Kubernetes clusters on behalf of catalog entities. The root cause is CWE-20 (Improper Input Validation): in the deprecated services endpoint (POST /api/kubernetes/services/:serviceId in plugins/kubernetes-backend/src/service/KubernetesRouter.ts), the router passed requestBody?.entity straight through to the Kubernetes service layer (ObjectsByEntityRequest) rather than resolving that entity against the Backstage catalog. The upstream diff shows the fix importing parseEntityRef, obtaining httpAuth.credentials(req), calling catalog.getEntityByRef(parsedRef, { credentials }), and throwing NotAllowedError('Entity not found, ...') when no catalog entity matches, replacing the untrusted client-supplied entity with the catalog-resolved object. A regression test ('rejects entities not found in catalog') asserts HTTP 403 and an audit-event failure. CPE data (cpe:2.3:a:backstage:backstage and cpe:2.3:a:@backstage:plugin-kubernetes-backend) confirms both the Backstage distribution and the standalone plugin package are in scope. Note that the referenced upstream commit also bundles unrelated changesets for search-backend and the Elasticsearch search module (empty document type / unfiltered query fixes), which are separate defects and not part of this CVE.

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 MEDIUM
NVD 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 3.1 LOW

Authenticated user with existing K8s read (PR:L) crafting payloads to a deprecated endpoint (AC:H); impact is read-only metadata disclosure only, so C:L (not vendor's C:H), I:N, A:N.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorNVD

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

Lifecycle Timeline

2
CVSS changed
Oct 16, 2026 - 14:53 NVD
5.3 (MEDIUM) 6.5 (MEDIUM)
Patch available
Oct 07, 2026 - 16:02 EUVD

DescriptionNVD

Backstage is an open framework for building developer portals. Prior to 0.21.8, the @backstage/plugin-kubernetes-backend package is affected by improper entity validation in deprecated kubernetes services endpoint. An authenticated user with Kubernetes read permissions could access Kubernetes workload data beyond their intended scope by supplying crafted entity data to the deprecated services endpoint. The exposure is limited to read-only access to Kubernetes object metadata across configured clusters. This issue is fixed in version 0.21.8.

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Medium
CNCF developer-portal framework common in engineering orgs, not universally deployed
Threat Intel
1
1 sources
Data Quality
6 sources
Confidence: High

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

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
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

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