Skip to main content

Backstage EUVDEUVD-2026-93990

| CVE-2026-106457 HIGH
Improper Authentication (CWE-287)
2026-10-06 GitHub_M GHSA-q333-f498-w2x7
8.1
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Hold valid Access token for another team app
  2. Exploit
    Reach Backstage auth endpoint lacking upstream audience enforcement
  3. Execution
    Pass signature and team-issuer checks only
  4. Impact
    Authenticate to Backstage as that identity

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK

2 techniques across 2 tactics: Defense Evasion, Initial Access

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

Exploitation Conditions

Exploitation requires ALL of: (1) the attacker possesses a valid Cloudflare Access JWT issued for a DIFFERENT Access application within the SAME Cloudflare Zero Trust team; (2) that token can reach the Backstage @backstage/plugin-auth-backend-module-cloudflare-access-provider auth endpoint on a request path where Cloudflare Access has NOT already enforced the Backstage application's own Audience (AUD) tag upstream; and (3) a vulnerable version (>=0.1.0 and <0.5.0) is in use. Limiting factors: Cloudflare Access normally evaluates the protected application and enforces audience before forwarding, so a properly fronted deployment is not exploitable; the attacker must already be an authenticated member of the shared Zero Trust team; and the fixed version makes the 'audience' config value mandatory so the AUD claim is checked.

Impact

This is a moderate, conditional authentication-bypass issue (CWE-287) rather than a top-tier priority. The provided CVSS 3.1 vector (AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N, 6.8 MEDIUM) is internally consistent with the description: network-reachable, but high attack complexity because success depends on a condition outside the attacker's direct control (the token reaching the Backstage auth endpoint without the Backstage application's audience already being enforced upstream by Cloudflare Access), and PR:L because the attacker must already hold a valid Cloudflare Access token for some other application in the same Zero Trust team. No EPSS score, KEV listing, or POC was supplied in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation - the risk is driven by the structural auth weakness, not by observed attack activity. The key mitigating reality, stated by the vendor, is that Cloudflare Access normally evaluates the protected application before forwarding requests, so in a correctly fronted deployment the bypass does not trigger; exposure is highest where the auth endpoint can be reached on a path that skips per-application audience enforcement. Net: treat as a prompt-but-not-emergency patch, weighted up for engineering orgs that run this provider and front Backstage with a shared Zero Trust team.

Exploit ScenarioDerived

An attacker who is a legitimate user of a different application within the same Cloudflare Zero Trust team obtains their own valid Access JWT. They submit that token to the Backstage auth endpoint on a path where Cloudflare Access has not already enforced the Backstage application's audience; affected versions (0.1.0-pre-0.5.0) validate only the token signature and team issuer, so authentication to Backstage succeeds. No public exploit code was identified in the provided data.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.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

Insufficient audience validation in Backstage's Cloudflare Access auth provider package (@backstage/plugin-auth-backend-module-cloudflare-access-provider 0.1.0 through 0.4.x) lets a user who already holds a valid Cloudflare Access JWT issued for a different Access application inside the same Cloudflare Zero Trust team authenticate to Backstage, because the provider verifies the token signature and team issuer but never checks the token's audience (AUD) claim. Exploitation is conditional: the forged-context token must actually reach the Backstage auth endpoint on a path where Cloudflare Access has not already enforced the Backstage application's own AUD tag upstream, and the attacker must be an authenticated member of the shared Zero Trust team, which is why the assessed vector carries AC:H and PR:L and the resulting rating is a moderate, conditional authentication bypass rather than a top-tier priority. No public exploit code has been identified at time of analysis, and the issue is fixed in plugin version 0.5.0 (shipped with Backstage v1.55.0), where the 'audience' configuration value becomes mandatory.

RemediationAI

Upgrade @backstage/plugin-auth-backend-module-cloudflare-access-provider to version 0.5.0 or later, which is delivered with the Backstage v1.55.0 release (https://github.com/backstage/backstage/releases/tag/v1.55.0); the fix commit is https://github.com/backstage/backstage/commit/ed9034cacd9def3b3674f0a764fe992f751e204d and the advisory is https://github.com/backstage/backstage/security/advisories/GHSA-q333-f498-w2x7. Because 0.5.0 is a BREAKING change, the upgrade will fail at startup unless you first set auth.providers.cfaccess.audience to the Application Audience (AUD) tag of your Backstage application, which you can copy from the Cloudflare Zero Trust dashboard under Access controls > Applications by selecting the Backstage application and reading Additional settings; store it as a secret (for example ${AUTH_CFACCESS_AUDIENCE}) alongside the existing teamName value. If you cannot upgrade immediately, the effective compensating control is to guarantee that Cloudflare Access always evaluates the Backstage application itself before any request reaches the plugin's auth endpoint, so that a token minted for another application in the team is blocked upstream and never reaches the provider; concretely, keep the auth endpoint behind its Cloudflare Access application policy, do not expose the Backstage backend auth route on internal, direct-IP, or alternate hostname paths that bypass Cloudflare, and treat any such bypass path as equivalent to an unauthenticated exposure of the login flow. Note that this workaround depends entirely on correct edge configuration and offers no defense if the endpoint is reachable without Cloudflare Access in front of it, whereas the 0.5.0 upgrade enforces the AUD claim in the application layer and therefore remains the durable fix.

Affected VersionsENISA

backstage 1.26.0, < 1.55.0
plugin-auth-backend-module-cloudflare-access-provider 0.1.0, < 0.5.0

Affected Packages

npm @backstage/plugin-auth-backend-module-cloudflare-access-provider fix: 0.5.0
euvd backstage_1_26_0 fix: 1.55.0
euvd plugin_auth_backend_module_cloudflare_access_provider_0_1_0 fix: 0.5.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

Backstage is an open-source developer-portal framework whose authentication providers are packaged as separate modules; one of them, @backstage/plugin-auth-backend-module-cloudflare-access-provider, integrates Backstage with Cloudflare Access (Cloudflare Zero Trust). Cloudflare Access issues short-lived JWTs to users it has authenticated for a specific protected application; those tokens carry a signature chainable to the team's signing keys, an issuer identifying the Zero Trust team, and an 'aud' claim containing the Application Audience (AUD) tag of the application the token was minted for. The vulnerable code path performed signature and team-issuer validation but omitted verification of the 'aud' claim, a root cause in the CWE-287 (Improper Authentication) class: the token was accepted as proof of identity without confirming that it was issued for the Backstage application specifically. The upstream fix (commit ed9034cacd9def3b3674f0a764fe992f751e204d) adds a required 'auth.providers.cfaccess.audience' configuration setting, threads it into the JWT verification options, and returns errors such as 'missing required "aud" claim' and 'unexpected "aud" claim value' when the claim is absent or belongs to another application; corresponding tests were added in helpers.test.ts. Because the change makes a previously optional configuration value mandatory and validated at startup (AuthHelper.fromConfig throws when audience is absent), it is documented as a BREAKING change for upgrading deployments. Affected CPEs include cpe:2.3:a:backstage:backstage:*:*:*:*:*:*:*:* and cpe:2.3:a:@backstage:plugin-auth-backend-module-cloudflare-access-provider:*:*:*:*:*:*:*:*, confirming that the component in scope is the Backstage auth-backend plugin rather than the Cloudflare Access product 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 MEDIUM
NVD 8.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
vuln.today AI 6.8 MEDIUM

AC:H because success needs upstream audience enforcement to be absent, PR:L because the attacker must already hold a valid same-team Access token; no availability impact.

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

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
High
Availability
None

Lifecycle Timeline

3
Severity Changed
Oct 27, 2026 - 20:52 NVD
MEDIUM HIGH
CVSS changed
Oct 27, 2026 - 20:52 NVD
6.8 (MEDIUM) 8.1 (HIGH)
Patch available
Oct 06, 2026 - 22:20 EUVD

DescriptionNVD

Backstage is an open framework for building developer portals. From 0.1.0 until 0.5.0, the @backstage/plugin-auth-backend-module-cloudflare-access-provider package is affected by insufficient audience validation in the cloudflare access auth provider. The Cloudflare Access auth provider verifies a token's signature and team issuer, but affected versions do not verify that the token was issued for the Backstage application. A user holding a valid token for another Access application in the same Cloudflare Zero Trust team may therefore be able to authenticate to Backstage if that token reaches the auth endpoint without the Backstage application's audience already being enforced upstream. Cloudflare Access normally evaluates the protected application before forwarding requests. This issue is fixed in version 0.5.0.

Technical POC Analysis

CWE-287 (Improper Authentication): the Cloudflare Access authenticator in @backstage/plugin-auth-backend-module-cloudflare-access-provider performs only two-thirds of the token validation Cloudflare'…

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
Low
niche Backstage auth plugin requiring Cloudflare Zero Trust deployment
Threat Intel
1
1 source
Data Quality
7 sources
Confidence: High
EUVD 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 HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Total

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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