Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Bitbucket Server as low-privileged user
-
DeliveryPush commit to filter-excluded but readable repo
-
ExploitTrigger legitimate repository push event
-
ExecutionEvent path bypasses configured catalog filters
-
ImpactUnauthorized Location added to Backstage catalog
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a deployment running the Bitbucket Server catalog provider (@backstage/plugin-catalog-backend-module-bitbucket-server, versions 0.4.0 up to but not including 0.5.15) with event-driven catalog updates enabled AND repository filters configured (projectKey, repoSlug, or skipArchivedRepos). The attacker must be an authenticated Bitbucket Server user with push access to a repository that is excluded by those filters but still readable by the configured Backstage integration credentials. LIMITING FACTORS: valid Bitbucket Server authentication is mandatory (PR:L); deployments that do not use event-driven updates, do not configure filters, or do not run this specific provider are not affected; the attacker cannot target repositories they lack push access to or that the Backstage integration cannot read. |
| Impact | This is a genuine but moderate-priority authorization flaw, not a drop-everything emergency. The provided CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N, 6.5) correctly captures that exploitation is network-reachable and low-complexity but requires an authenticated Bitbucket Server user (PR:L) - so this is NOT exploitable by anonymous attackers. No EPSS score, SSVC decision data, or KEV listing was provided in the input; exploitation status is therefore 'no public exploit identified at time of analysis.' The real-world risk is bounded by the attacker precondition: the actor must already be an authenticated Bitbucket Server user with push access to a repository that is deliberately filtered out of Backstage discovery yet still readable by the Backstage integration credentials - an insider or compromised-developer scenario rather than opportunistic internet-wide attack. One signal to weigh carefully: the CVSS asserts I:H (high integrity impact), but the described effect is limited to adding catalog Location entries for otherwise-excluded repositories, which reads closer to partial integrity impact; the practical downstream impact depends on what the ingested catalog entities can do (e.g., claiming ownership, injecting entity metadata). Verify the concrete blast radius with the vendor advisory GHSA-c36c-cf6r-ghgj. Overall: a real defense-in-depth bypass worth patching on a normal cycle, but low likelihood of mass exploitation. |
| Exploit ScenarioDerived | An authenticated Bitbucket Server user with push rights to a repository that administrators intentionally excluded via Backstage's project/repo/archived filters pushes a commit, generating a legitimate repository push event. Backstage's event-driven catalog update path - which did not apply the same filters as scheduled discovery - ingests a catalog Location from that excluded repository, injecting entities the organization meant to keep out of its software catalog. No public exploit code or proof-of-concept was identified in the provided data; exploitation requires valid Bitbucket Server credentials and does not work against anonymous attackers. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 06, 2026
Inconsistent repository filtering in Backstage's Bitbucket Server catalog backend module allows an authenticated Bitbucket Server user to inject catalog locations for repositories that the provider's configured filters are supposed to exclude. Only deployments of @backstage/plugin-catalog-backend-module-bitbucket-server (0.4.0 up to but not including 0.5.15) that use event-driven catalog updates AND configure projectKey, repoSlug, or skipArchivedRepos filters are affected; the attacker must have push access to a filtered-out repository that the Backstage integration credentials can still read. Impact is limited to unauthorized additions to the software catalog (integrity, not confidentiality or availability), no public exploit code has been identified at time of analysis, and exploitation requires valid Bitbucket Server authentication (PR:L) - so this is a genuine but moderate-priority authorization flaw rather than an emergency.
RemediationAI
Vendor-released patch: upgrade @backstage/plugin-catalog-backend-module-bitbucket-server to 0.5.15 or later (delivered in Backstage release v1.55.0, https://github.com/backstage/backstage/releases/tag/v1.55.0); the fix is contained in commit 989db63b6f87c8fc04d440f296ad89e10c79b363. If an immediate upgrade is not possible, the most direct compensating control is to disable event-driven catalog updates for this provider and rely on scheduled discovery only, which correctly applies the configured filters - the trade-off is slower catalog freshness for legitimate repositories. A second control is to tighten the Bitbucket Server integration credentials used by Backstage so they can read only in-scope projects/repositories; a repository excluded by filters but unreadable by the integration cannot be ingested via the event path, at the cost of losing visibility into any repository legitimately read by that account. Finally, restrict push rights on repositories that are intentionally excluded from discovery so that untrusted users cannot generate the triggering push event, bearing in mind this changes developer workflows in Bitbucket Server rather than in Backstage.
Affected VersionsENISA
Affected Packages
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's catalog backend uses Entity Providers to discover and ingest catalog-info files; the Bitbucket Server provider (@backstage/plugin-catalog-backend-module-bitbucket-server) supports both scheduled full discovery and event-driven updates, in which repository push events delivered through the Backstage events service trigger targeted re-processing of a single repository. The provider accepts filters (projectKey, repoSlug, skipArchivedRepos) that scheduled discovery correctly honors, but the event-driven path failed to apply the same predicates before emitting a Location for the event's repository - a CWE-863 incorrect-authorization defect in which two code paths enforce differing policy for the same resource. Because the underlying raw Bitbucket Server API call is performed with the Backstage integration's credentials rather than the pushing user's, a repository excluded by configuration but still readable by that integration would be admitted to the catalog via the push event even though scheduled discovery would never have added it. The upstream fix (commit 989db63b6f87c8fc04d440f296ad89e10c79b363) aligns the event-driven path with the configured repository filters, and the accompanying changeset rewords the config typings to make clear the filters apply to 'scheduled and event-driven catalog updates'; the new unit test 'ignores onRepoPush events excluded by provider filters' exercises mismatched project keys, slugs, and archived repositories.
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:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Network-reachable event path (AV:N), low complexity (AC:L), requires an authenticated Bitbucket user with push access (PR:L); impact is limited to injecting catalog Locations so I:L rather than I:H, with no confidentiality or availability loss.
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.4.0 until 0.5.15, the @backstage/plugin-catalog-backend-module-bitbucket-server package is affected by inconsistent repository filtering in bitbucket server catalog event updates. Deployments using event-driven updates in the Bitbucket Server catalog provider may ingest catalog locations from repositories that are excluded by the provider's configured project, repository, or archived-repository filters. An authenticated Bitbucket Server user who can push to a filtered-out repository that remains readable by the configured Backstage integration can trigger a legitimate repository event. The affected event path may then add a Location for that repository even though scheduled discovery excludes it. This issue is fixed in version 0.5.15.
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-93992
GHSA-c36c-cf6r-ghgj
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB