☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 5.4 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N 🐛 CWE-863
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-106463

CVE-2026-106463 Improper Access Control in Backstage
📅 PUBLISHED: 2026-10-06 00:00 UTC 🔄 UPDATED: 2026-10-08 23:08 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.17%
👁️
0.17% probability
4.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1078
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 5.4
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: U Scope Unchanged
C: L Confidentiality Low
I: L Integrity Low
A: N Availability None
5.4
THREAT LEVEL
INTEL SOURCES NVD EPSS HOW WE SCORE →
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-106463 is an improper authorization vulnerability (CWE-863) in the @backstage/plugin-catalog-backend-module-gitlab package, affecting Backstage deployments prior to version 0.8.7 that have enabled GitLab organization event ingestion. The flaw allows an unintended catalog identity to be ingested during GitLab organizational user ingestion, potentially admitting a user who should have been excluded by scoped catalog user access boundaries. Successful exploitation may grant an attacker the access permissions of a standard authenticated user, though the vulnerability requires low privileges and no user interaction to trigger.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

Backstage is an open framework for building developer portals that aggregates data from external sources—including GitLab—into a centralized software catalog. The affected module, @backstage/plugin-catalog-backend-module-gitlab, handles ingestion of GitLab organizational data (users, groups, events) into the catalog.

The vulnerability resides in the organization user ingestion logic. When GitLab organization event ingestion is enabled, the module processes organizational membership events to keep the catalog synchronized with GitLab. Under certain configurations, an identity that should not satisfy the configured access boundary is nonetheless admitted into the catalog. This is an improper authorization failure: the authorization check that is intended to constrain which GitLab identities may be ingested (or which scoped catalog users should be honored as an access boundary) does not correctly enforce that boundary.

The root cause is a logic flaw in the authorization decision for ingestion—the module fails to properly validate that an ingested organizational user falls within the intended scope. As a result, a catalog identity can be created or admitted for a principal that a deployment operator intended to exclude. Because Backstage catalog identities feed into sign-in and permission evaluation, admitting an unintended identity can translate into authenticated access under the permissions granted to standard authenticated users.

The attack surface is the Backstage catalog backend's GitLab ingestion pipeline. It is reachable over the network (AV:N), requires low privileges (PR:L), and needs no user interaction (UI:N). Successful exploitation yields limited confidentiality and integrity impact (C:L/I:L) with no availability impact (A:N), consistent with the CVSS v3.1 base score of 5.4.

No public proof-of-concept, exploit code, or Nuclei template is available. The precise internal function names and enforcement routines are not disclosed in the provided description; analysis above is limited to the vulnerability class and disclosed mechanism. Insufficient technical detail is available to describe specific code paths beyond the ingestion authorization logic described.

Exploitation Scenarios

No public PoC available; attack chain is inferred from the vulnerability class (improper authorization in catalog user ingestion).

  1. Reconnaissance / target identification: The attacker identifies a Backstage deployment that uses the GitLab catalog backend module and has GitLab organization event ingestion enabled. Such deployments are discoverable by fingerprinting the Backstage portal and observing GitLab-sourced catalog entities.

  2. Triggering the flaw: Because the ingestion authorization boundary is not correctly enforced, an organizational membership event associated with an identity outside the intended scope is ingested. The module admits an unintended catalog identity—the authorization check that should have excluded this principal does not do so. Triggering requires low privileges (e.g., membership/event generation capability within the relevant GitLab organization), no user interaction, and network access.

  3. Execution method at the vulnerability-class level: This is an authorization bypass, not a memory-safety or injection flaw. The attacker does not need a crafted payload in the classic sense; the "payload" is the organizational event or identity that causes the flawed authorization decision to admit an unintended identity into the catalog. No specific endpoints, parameters, or function names are disclosed, so no implementation-specific execution steps can be provided.

  4. Post-exploitation impact: Once the unintended catalog identity is admitted, and depending on sign-in and permission configuration, the attacker may obtain access to the Backstage portal with the permissions of a standard authenticated user. This yields limited read and write access to catalog-visible resources and any downstream systems that trust Backstage identity and permissions—consistent with the C:L/I:L subscores and an unchanged scope (S:U).

Impact Assessment

Business impact centers on unauthorized access to the developer portal and its catalog. A developer portal typically exposes service ownership, repository metadata, CI/CD relationships, and links to internal tooling; admitting an unintended identity can expose this information and allow actions permitted to standard authenticated users. The blast radius is bounded by Backstage's permission model and its integrations—if Backstage identities are federated to downstream systems, the practical impact may extend beyond the catalog itself.

CVSS v3.1 base score is 5.4 (Medium): AV:N (remotely reachable), AC:L (no special conditions), PR:L (low privileges required), UI:N (no user interaction), S:U (impact confined to the vulnerable component), C:L (limited confidentiality impact), I:L (limited integrity impact), A:N (no availability impact). There is no confirmed evidence of exploit-in-the-wild, no CISA KEV listing, and no EPSS score is available (not yet scored by FIRST.org). Exploitation likelihood is moderated by the prerequisite configuration—only deployments enabling GitLab organization event ingestion and relying on scoped catalog users as an access boundary are affected.

Detection Guidance

Sigma Rule

title: Backstage GitLab Catalog Ingestion Improper Authorization (CVE-2026-106463)
id: 3f9c1a72-6b4e-4d21-9c8a-0b7e5d2a1f44
status: experimental
description: Detects anomalous or unauthorized GitLab organizational user ingestion events in the Backstage catalog backend that may indicate exploitation of CVE-2026-106463.
references:
  - https://nvd.nist.gov/vuln/detail/CVE-2026-106463
author: valtersit.com
date: 2026-01-01
logsource:
  product: backstage
  service: catalog-backend
detection:
  selection_module:
    logger|contains: 'plugin-catalog-backend-module-gitlab'
  selection_event:
    message|contains:
      - 'organization'
      - 'ingest'
      - 'user'
  selection_anomaly:
    message|contains:
      - 'added'
      - 'created'
      - 'ingested'
  condition: selection_module and selection_event and selection_anomaly
falsepositives:
  - Legitimate onboarding of new GitLab organization members
level: medium
tags:
  - attack.t1078
  - cve.2026-106463

YARA Rule

rule CVE_2026_106463_Backstage_GitLab_Ingestion_Anomaly
{
    meta:
        author = "valtersit.com"
        description = "Detects indicators of improper authorization in Backstage GitLab catalog ingestion (CVE-2026-106463)"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-106463"
        date = "2026-01-01"
        cve = "CVE-2026-106463"

    strings:
        $pkg = "@backstage/plugin-catalog-backend-module-gitlab" ascii wide
        $org = "organization" ascii wide
        $ingest = "ingest" ascii wide
        $vulnver = "0.8.6" ascii wide
        $fixed = "0.8.7" ascii wide

    condition:
        $pkg and $org and $ingest and $vulnver and not $fixed
}

Suricata IDS Rule

alert http any any -> any any (msg:"CVE-2026-106463 Backstage GitLab Catalog Ingestion Improper Authorization"; flow:to_server,established; http.uri; content:"/api/catalog"; nocase; http.header; content:"backstage"; nocase; http.header; content:"gitlab"; nocase; reference:cve,2026-106463; reference:url,nvd.nist.gov/vuln/detail/CVE-2026-106463; classtype:attempted-user; sid:2026106463; rev:1;)

Elastic Detection

sequence by host.name
  [process where event.action == "start" and process.args : "*catalog-backend-module-gitlab*"]
  [file where file.name : "*" and event.category == "file" and file.path : "*catalog*" and wildcard(file.path, "*ingest*")]

Splunk SPL Query

index=backstage sourcetype=backstage:catalog
| search "plugin-catalog-backend-module-gitlab" AND (message="*organization*" OR message="*ingest*")
| stats count earliest(_time) as first_seen latest(_time) as last_seen by host, user, message
| where count > 0
| table host user first_seen last_seen count message

Wazuh OSSEC Rule

<group name="backstage,cve-2026-106463,">
  <rule id="100463" level="8">
    <decoded_as>json</decoded_as>
    <field name="logger">plugin-catalog-backend-module-gitlab</field>
    <match>organization|ingest|user</match>
    <description>CVE-2026-106463: Suspicious GitLab organizational user ingestion in Backstage catalog backend</description>
    <mitre>
      <id>T1078</id>
    </mitre>
    <group>cve_2026_106463,</group>
  </rule>
</group>

Mitigation & Patch Guidance

Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source). Note: the NVD description states this issue is fixed in version 0.8.7; however, no patch evidence (advisory, commit, or release artifact) was confirmed by tracked sources at the time of this report.

  1. Immediate mitigations:

    • If GitLab organization event ingestion is not strictly required, disable it to remove the vulnerable ingestion path.
    • Review the catalog's scoped user configuration and avoid relying solely on scoped catalog users as an access boundary for identity admission.
    • Audit recently ingested GitLab organizational identities and remove any that fall outside the intended scope.
    • Tighten sign-in and permission configuration so that any inadvertently admitted identity receives minimal privileges.
    • Restrict network access to the Backstage catalog backend to trusted sources.
  2. Patch / upgrade steps:

    • Upgrade @backstage/plugin-catalog-backend-module-gitlab to version 0.8.7 or later as indicated by the upstream description.
    • Verify the dependency version in your Backstage workspace (e.g., inspect the package manifest and lockfile) and rebuild/redeploy the catalog backend.
    • Because patch confidence is unconfirmed, validate the upgrade against your deployment before broad rollout.
  3. Long-term hardening:

    • Adopt explicit allow-list scoping for ingested GitLab users rather than boundary-dependent implicit checks.
    • Implement continuous auditing of catalog identities and alert on ingests outside expected organizational scope.
    • Apply least-privilege principles to all Backstage service integrations and standard authenticated users.
    • Maintain a dependency-monitoring process to track Backstage plugin advisories and apply updates promptly.

References

No public proof-of-concept, exploit code, or Nuclei template was identified. No threat actor campaigns or exploit-in-the-wild evidence were found. No EPSS score is currently available (not yet scored by FIRST.org).

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

product:"Backstage"
title:"Backstage"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-106463/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.