Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as admitted IdP user
-
DeliverySupply email marked email_verified:false matching victim
-
ExploitBypass negative-verification check in profile normalization
-
ExecutionResolve to victim's catalog identity
-
ImpactInherit victim's access and permissions
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 three concrete conditions, all drawn from the advisory: (1) the attacker must be an already-admitted identity-provider user (PR:L) capable of supplying or changing an email address; (2) the Backstage deployment must use an email-based sign-in resolver that resolves catalog identities from the selected profile email; and (3) the email must carry an explicit negative verification flag (profile email verified:false, matching raw provider email_verified:false, or ID-token-only email with email_verified:false). Limiting factors: an absent email_verified claim alone is NOT affected (the negative flag must be present and apply to the selected email); deployments not using the selected-profile-email resolver are not exploitable; and the attacker needs valid IdP admission plus a target catalog email, raising attack complexity (AC:H). |
| Impact | This is a genuine but conditional authentication/identity-spoofing flaw (CWE-287) rather than a trivially exploitable critical. 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 vector (OAuth sign-in), high attack complexity (requires a specific resolver configuration plus the ability to control an unverified email), and low privileges (an already-admitted IdP user). The C:H/I:H impact is justified because assuming another catalog identity yields that identity's access and permissions. No EPSS score, KEV listing, or public POC is present in the provided data, so exploitation status is 'no public exploit identified at time of analysis' - the GitHub 'source code evidence' is the vendor patch/test commits, NOT exploit code, and must not be conflated with a POC or active exploitation. There is no conflict between signals here; rather, the risk is gated by preconditions (AC:H + PR:L), meaning this is a real priority for Backstage deployments using email-based sign-in resolvers but not a mass-exploitation 'patch-tonight' network worm candidate. Key missing data: EPSS probability and any real-world exploitation telemetry are absent and cannot be inferred. |
| Exploit ScenarioDerived | An attacker who is already an admitted user of the configured identity provider logs in and supplies or changes their profile email to one explicitly marked unverified (email_verified: false) that matches a different Backstage catalog user. Because profile normalization failed to honor the negative verification flag, the email is accepted and used to resolve catalog identity, letting the attacker sign in as the victim and inherit their access. No public exploit code is identified in the provided data, and the attack requires a deployment using the selected-profile-email sign-in resolver. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 06, 2026
Improper authentication in the Backstage @backstage/plugin-auth-node package (versions 0.3.0 through 0.6.14 and 0.7.x before 0.7.5) lets an already-admitted identity-provider user assume another catalog user's identity and inherit its access and permissions. The flaw is conditional and rated CVSS 6.8 (AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N): it only triggers when a deployment uses an email-based sign-in resolver that derives catalog identity from the selected profile email AND that email carries an explicit negative verification flag (profile email verified:false, a matching raw provider email_verified:false, or an ID-token-only email with email_verified:false) - an absent email_verified claim alone is not affected. Vendor-released patches exist in 0.6.15 and 0.7.5 (Backstage releases v1.49.7 and v1.54.7), and no public exploit or confirmed active exploitation was identified at time of analysis.
RemediationAI
Upgrade @backstage/plugin-auth-node to 0.6.15 or 0.7.5 (or move to Backstage framework releases v1.49.7 / v1.54.7), which make OAuth profile normalization honor matching negative email verification metadata (commits 507e65ab, f0a43dac, fc5e30ab; advisory GHSA-xm5q-p7w3-x6cp). If immediate upgrade is not possible, the most effective compensating control is to stop relying on the selected-profile-email resolver for catalog identity - switch to a resolver keyed on the provider's immutable subject/ID (e.g. the OIDC sub claim or provider user ID) with an explicit mapping, though this requires re-provisioning catalog identity mappings. Additionally, restrict the identity provider so it only admits intended users and only issues emails that are provider-verified or immutable from a trusted organizational source, since the flaw requires an admitted user who can supply or change an email; note this reduces but does not eliminate exposure for providers that permit user-editable, unverified emails. Deployments that use a non-email resolver are not exploitable and need not apply these workarounds, though upgrading is still recommended.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 5 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 lives in the OAuth/Passport profile-normalization path of @backstage/plugin-auth-node, specifically the PassportHelpers.transformProfile routine that converts a provider's raw Passport profile into the normalized shape Backstage uses for identity resolution. Backstage is an open developer-portal framework that federates logins through external identity providers (e.g. GitHub, Google/OIDC); when an email-based sign-in resolver is configured, the normalized email is matched against catalog user entities to decide which catalog identity the session represents. Prior to the fix, transformProfile did not consistently honor explicit negative verification metadata: if the selected profile email was flagged verified:false, or a matching raw provider email (e.g. _json.email_verified) was false, or the email came only from an ID token whose email_verified claim was false, the library could still surface that email as the resolved identity. Root cause maps to CWE-287 (Improper Authentication) - the code failed to enforce a trust check on unverified email claims before using them as an authentication input. The fix (commits 507e65ab, f0a43dac, fc5e30ab) makes normalization respect matching negative verification information and adds a documentation warning that email-based resolvers require providers that guarantee verified or immutable, trusted-source addresses.
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:H/A:N
Network OAuth sign-in (AV:N) by an admitted IdP user (PR:L); AC:H due to required email-resolver config and control of an unverified matching email; identity takeover yields C:H/I:H, no availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Backstage is an open framework for building developer portals. From 0.3.0 until 0.6.15 and 0.7.5, the @backstage/plugin-auth-node package did not consistently honor explicit negative email verification during shared OAuth profile normalization. The affected paths include a selected profile email marked verified: false, a matching raw provider email marked email_verified: false, and an email obtained only from an ID token marked email_verified: false. Exploitation requires an admitted identity-provider user who can supply or change an unverified email and a deployment that uses the selected profile email to resolve catalog identities. The verification metadata must apply to the selected email; an absent email_verified claim alone is not affected. In an affected configuration, the user may assume another catalog identity and obtain its associated access and permissions. This issue is fixed in versions 0.6.15 and 0.7.5.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
The Bitbucket pull-request Scaffolder actions in Backstage can be abused by an authenticated user with template-executio
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.
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-93995
GHSA-xm5q-p7w3-x6cp
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB