← Back to CVE Explorer

CVE-2026-106490

Full vulnerability record from the local CVENow database.

Description

Backstage is an open framework for building developer portals. Prior to 2.2.4, the @backstage/plugin-techdocs-backend package is affected by improper input validation in techdocs static content requests. When using the Azure Blob Storage provider, an authenticated Backstage user may be able to read restricted TechDocs content when entity-level permissions are enabled. Deployments that intentionally disable the default backend authentication policy may have broader exposure. This issue is fixed in version 2.2.4.

Severity
MEDIUM
CVSS score
6.5 (v3.1)
Vulnerability status
Analyzed
Source identifier
Published
2026-10-06 21:17:17.927000
Last modified
2026-10-22 14:40:50.997000
View original CVE JSON
{
  "id": "CVE-2026-106490",
  "sourceIdentifier": "[email protected]",
  "published": "2026-10-06T21:17:17.927",
  "lastModified": "2026-10-22T14:40:50.997",
  "vulnStatus": "Analyzed",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "Backstage is an open framework for building developer portals. Prior to 2.2.4, the @backstage/plugin-techdocs-backend package is affected by improper input validation in techdocs static content requests. When using the Azure Blob Storage provider, an authenticated Backstage user may be able to read restricted TechDocs content when entity-level permissions are enabled. Deployments that intentionally disable the default backend authentication policy may have broader exposure. This issue is fixed in version 2.2.4."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "backstage",
          "product": "backstage",
          "versions": [
            {
              "version": "< 1.54.6",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "@backstage",
          "product": "plugin-techdocs-backend",
          "versions": [
            {
              "version": "< 2.2.4",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N",
          "baseScore": 6.5,
          "baseSeverity": "MEDIUM",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "NONE",
          "availabilityImpact": "NONE"
        },
        "exploitabilityScore": 2.8,
        "impactScore": 3.6
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-10-07T15:27:11.195983Z",
          "id": "CVE-2026-106490",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-22"
        },
        {
          "lang": "en",
          "value": "CWE-23"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:linuxfoundation:backstage\\/plugin-techdocs-backend:*:*:*:*:*:node.js:*:*",
              "versionEndExcluding": "2.2.4",
              "matchCriteriaId": "C0473F89-B1F9-4BC7-8F2C-8C2F5F4C3813"
            }
          ]
        }
      ]
    },
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:linuxfoundation:backstage:*:*:*:*:*:*:*:*",
              "versionEndExcluding": "1.54.6",
              "matchCriteriaId": "630B6B8B-D515-4FEF-83C7-9CF51C7EB2F5"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/backstage/backstage/commit/40ecc4c2e88b0218125b0a3405d1f6315b321974",
      "source": "[email protected]",
      "tags": [
        "Patch"
      ]
    },
    {
      "url": "https://github.com/backstage/backstage/releases/tag/v1.54.6",
      "source": "[email protected]",
      "tags": [
        "Patch",
        "Release Notes"
      ]
    },
    {
      "url": "https://github.com/backstage/backstage/security/advisories/GHSA-7mfx-xg57-53c9",
      "source": "[email protected]",
      "tags": [
        "Mitigation",
        "Vendor Advisory"
      ]
    }
  ]
}