/

CVE-2026-106492

Severity:

HIGH RISK

(7.6)

Improper Privilege Management (CWE-269) in Backstage

CVE-2026-106492

Analyzed

Vulnerability type

Category:

Improper Privilege Management

CWE:

CWE-269, CWE-863

Impact:

Privilege Escalation and Unauthorized Actions

Severity:

HIGH RISK

(7.6)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

Backstage's backend defaults can fail to preserve access restrictions when external service credentials are delegated through plugin request paths. An attacker or service holding a restricted credential may use those paths to perform operations beyond its intended scope, potentially including writes where only read access was granted.

Backstage's backend defaults can fail to preserve access restrictions when external service credentials are delegated through plugin request paths. An attacker or service holding a restricted credential may use those paths to perform operations beyond its intended scope, potentially including writes where only read access was granted.

Affected context

The issue occurs in Backstage deployments using the affected @backstage/backend-defaults service credential delegation behavior. Risk is present when externally configured credentials carry restrictions and requests are routed through plugin delegation paths that do not consistently preserve those restrictions.

The issue occurs in Backstage deployments using the affected @backstage/backend-defaults service credential delegation behavior. Risk is present when externally configured credentials carry restrictions and requests are routed through plugin delegation paths that do not consistently preserve those restrictions.

Exploit preconditions

  • Attack surface: Backstage backend service credential delegation and plugin request paths
  • Required access: A valid external service credential with limited permissions, or control of a service that can use such a credential
  • Trigger point: A delegated request routed through a backend or plugin path
  • Why exploitation is possible: Authorization restrictions attached to the credential may not be retained across delegation, allowing downstream operations to be evaluated with broader effective privileges
  • Attack surface: Backstage backend service credential delegation and plugin request paths
  • Required access: A valid external service credential with limited permissions, or control of a service that can use such a credential
  • Trigger point: A delegated request routed through a backend or plugin path
  • Why exploitation is possible: Authorization restrictions attached to the credential may not be retained across delegation, allowing downstream operations to be evaluated with broader effective privileges

Why this happens

The underlying bug is an authorization-context propagation failure. During service credential delegation, the implementation does not reliably preserve restrictions such as read-only scope when forwarding a request to a plugin. This maps primarily to CWE-269, Improper Privilege Management, because the system can grant or retain more authority than intended. It is also related to CWE-863, Incorrect Authorization, where access-control decisions do not correctly enforce the requested operation and subject permissions.

The underlying bug is an authorization-context propagation failure. During service credential delegation, the implementation does not reliably preserve restrictions such as read-only scope when forwarding a request to a plugin. This maps primarily to CWE-269, Improper Privilege Management, because the system can grant or retain more authority than intended. It is also related to CWE-863, Incorrect Authorization, where access-control decisions do not correctly enforce the requested operation and subject permissions.

Potential impact

  • A restricted service may perform unauthorized write operations
  • Plugin-managed data or configuration could be modified
  • An attacker could bypass intended service-to-service authorization boundaries
  • Unauthorized changes may cause data integrity loss or workflow disruption
  • Broader compromise could occur if delegated credentials reach highly privileged plugins
  • A restricted service may perform unauthorized write operations
  • Plugin-managed data or configuration could be modified
  • An attacker could bypass intended service-to-service authorization boundaries
  • Unauthorized changes may cause data integrity loss or workflow disruption
  • Broader compromise could occur if delegated credentials reach highly privileged plugins

General mitigation guidance

Mitigation generally focuses on preserving authorization constraints across

every delegation boundary and evaluating permissions at the final resource

handler.

Common defensive patterns include:

  • Carrying the original credential restrictions and intended operation through every delegated request
  • Applying deny-by-default authorization checks at plugin and resource boundaries
  • Separating read and write capabilities using narrowly scoped credentials
  • Revalidating the requested action against the effective principal before execution
  • Avoiding trust decisions based solely on an upstream delegation path
  • Limiting service identities and plugin permissions according to least privilege
  • Recording delegation context and authorization decisions for auditability

Mitigation generally focuses on preserving authorization constraints across

every delegation boundary and evaluating permissions at the final resource

handler.

Common defensive patterns include:

  • Carrying the original credential restrictions and intended operation through every delegated request
  • Applying deny-by-default authorization checks at plugin and resource boundaries
  • Separating read and write capabilities using narrowly scoped credentials
  • Revalidating the requested action against the effective principal before execution
  • Avoiding trust decisions based solely on an upstream delegation path
  • Limiting service identities and plugin permissions according to least privilege
  • Recording delegation context and authorization decisions for auditability

How teams detect issues like this

Organizations can look for this class of issue through:

  • Static analysis and code review of credential delegation, token exchange, and impersonation paths
  • Review signals where authorization metadata is omitted, replaced, or reconstructed during request forwarding
  • Tests that exercise read-only credentials against write operations through every plugin route
  • Policy checks requiring explicit authorization enforcement at final resource handlers
  • Runtime monitoring for restricted identities performing operations outside their declared scope
  • Automated security review tools that flag inconsistent privilege propagation or missing authorization checks

Organizations can look for this class of issue through:

  • Static analysis and code review of credential delegation, token exchange, and impersonation paths
  • Review signals where authorization metadata is omitted, replaced, or reconstructed during request forwarding
  • Tests that exercise read-only credentials against write operations through every plugin route
  • Policy checks requiring explicit authorization enforcement at final resource handlers
  • Runtime monitoring for restricted identities performing operations outside their declared scope
  • Automated security review tools that flag inconsistent privilege propagation or missing authorization checks

Sources

SourceLink
github.comgithub.com/backstage/backstage/commit/40346245c53e1bf26dee56601e95c5c4ab9cc124
github.comgithub.com/backstage/backstage/commit/bc80ffdafbc92ff7b8c72347eace13cb8688fd33
github.comgithub.com/backstage/backstage/releases/tag/v1.49.6
github.comgithub.com/backstage/backstage/releases/tag/v1.54.6
github.comgithub.com/backstage/backstage/security/advisories/GHSA-cq7v-rfgc-5c7v

Frequently asked

questions

It may be exploitable through network-accessible Backstage backend or plugin

paths when an attacker can use, control, or induce use of a restricted

external service credential.

Exploitation generally requires a valid restricted credential or access to a

service capable of issuing requests with that credential. The credential's

restrictions alone may not prevent unauthorized actions if delegation fails

to preserve them.

Preserve credential restrictions across every delegation boundary and enforce

authorization again at the final plugin or resource handler, using

least-privilege identities and deny-by-default policies.

Test authorization behavior across direct and delegated paths, keep read and

write permissions separate, audit credential propagation logic, and monitor

for restricted identities performing operations outside their approved scope.

It may be exploitable through network-accessible Backstage backend or plugin

paths when an attacker can use, control, or induce use of a restricted

external service credential.

Exploitation generally requires a valid restricted credential or access to a

service capable of issuing requests with that credential. The credential's

restrictions alone may not prevent unauthorized actions if delegation fails

to preserve them.

Preserve credential restrictions across every delegation boundary and enforce

authorization again at the final plugin or resource handler, using

least-privilege identities and deny-by-default policies.

Test authorization behavior across direct and delegated paths, keep read and

write permissions separate, audit credential propagation logic, and monitor

for restricted identities performing operations outside their approved scope.

Find out what's already
exploitable in your codebase.