Skip to content
Heist/ feed
Back to feed
MediumFix available

Backstage: Improper authorization enforcement for TechDocs static content

Type: advisorySources: OSV

### Impact An authenticated user with access to one TechDocs documentation site could craft a URL able to read documentation belonging to a different entity. This only affects deployments using the external TechDocs builder with an external storage provider (S3, GCS, etc.) and the permission framework enabled. Instances that do not use the permission framework are unaffected, since TechDocs content is visible to all authenticated users by design. ### Patches Patched in `@backstage/plugin-techdocs-backend` version `2.2.4` ### Workarounds - None other than upgrading. Deployments that serve TechDocs from local storage are not affected.

Products
@backstage/plugin-techdocs-backend
Affected versions
Not specified
Fixed versions
2.2.4
CVEs
CVE-2026-106489
Confirmed fixed CVEs
Not specified
Updated in this feed
28 Oct 2026, 08:47 UTC · Revision 1

Source evidence

Backstage: Improper authorization enforcement for TechDocs static content

core-osv · Original source

Published 7 Oct 2026, 18:00 UTC

### Impact An authenticated user with access to one TechDocs documentation site could craft a URL able to read documentation belonging to a different entity. This only affects deployments using the external TechDocs builder with an external storage provider (S3, GCS, etc.) and the permission framework enabled. Instances that do not use the permission framework are unaffected, since TechDocs content is visible to all authenticated users by design. ### Patches Patched in `@backstage/plugin-techdocs-backend` version `2.2.4` ### Workarounds - None other than upgrading. Deployments that serve TechDocs from local storage are not affected.

osv:GHSA-rg9r-hr7g-5gc2

@backstage/plugin-techdocs-backend

Fixed versions: 2.2.4

Complete source record
{
  "id": "e8673551b95c5ca6dae6348a39d763ea7631bc9766c29d8d0a25425be9db2b68",
  "url": "https://osv.dev/vulnerability/GHSA-rg9r-hr7g-5gc2",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Backstage: Improper authorization enforcement for TechDocs static content",
    "summary": "### Impact An authenticated user with access to one TechDocs documentation site could craft a URL able to read documentation belonging to a different entity. This only affects deployments using the external TechDocs builder with an external storage provider (S3, GCS, etc.) and the permission framework enabled. Instances that do not use the permission framework are unaffected, since TechDocs content is visible to all authenticated users by design. ### Patches Patched in `@backstage/plugin-techdocs-backend` version `2.2.4` ### Workarounds - None other than upgrading. Deployments that serve TechDocs from local storage are not affected.",
    "evidence": "osv:GHSA-rg9r-hr7g-5gc2",
    "products": [
      {
        "name": {
          "value": "@backstage/plugin-techdocs-backend",
          "evidence": "/affected/0/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "2.2.4",
            "evidence": "/affected/0/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "medium",
    "structured": {
      "id": "GHSA-rg9r-hr7g-5gc2",
      "aliases": [
        "CVE-2026-106489",
        "GHSA-rg9r-hr7g-5gc2"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "type": "SEMVER",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "2.2.4"
                }
              ]
            }
          ],
          "package": {
            "name": "@backstage/plugin-techdocs-backend",
            "purl": "pkg:npm/%40backstage/plugin-techdocs-backend",
            "ecosystem": "npm"
          },
          "database_specific": {
            "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-rg9r-hr7g-5gc2/GHSA-rg9r-hr7g-5gc2.json"
          }
        }
      ],
      "modified": "2026-10-07T18:15:13.176895630Z",
      "provider": "osv",
      "references": [
        "https://github.com/backstage/backstage/security/advisories/GHSA-rg9r-hr7g-5gc2",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-106489",
        "https://github.com/backstage/backstage/commit/bf6bbf7326ada7d96d7b2c4ebc4a71546106f311",
        "https://github.com/backstage/backstage",
        "https://github.com/backstage/backstage/releases/tag/v1.54.6"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-22",
          "CWE-862"
        ],
        "severity": "MODERATE",
        "github_reviewed": true,
        "nvd_published_at": "2026-10-06T21:17:17Z",
        "github_reviewed_at": "2026-10-07T18:00:06Z"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-106489",
        "evidence": "/aliases"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 97170,
  "published_at": "2026-10-07T18:00:06+00:00"
}