{"schemaVersion":3,"id":"CVE-2026-106563","aliases":["GHSA-r9ph-3637-55px"],"status":"published","duplicateOf":null,"title":null,"description":"Backstage is an open framework for building developer portals. Prior to 0.21.8, the @backstage/plugin-kubernetes-backend package is affected by improper entity validation in deprecated kubernetes services endpoint. An authenticated user with Kubernetes read permissions could access Kubernetes workload data beyond their intended scope by supplying crafted entity data to the deprecated services endpoint. The exposure is limited to read-only access to Kubernetes object metadata across configured clusters. This issue is fixed in version 0.21.8.","dates":{"published":"2026-10-07T14:56:08.067Z","modified":"2026-10-10T02:28:55.359Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":6.5,"severity":"medium","version":"3.1","versionLabel":"v3.1","source":"NVD","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":5.3,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Npm","score":5.3,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N","exploitability":4.1,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":6.5,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00225,"percentile":0.12307,"severity":"low","asOf":"2026-10-19T00:00:00.000Z","change":{"pp":null,"baselineDate":null,"baselineScore":null},"history":[{"date":"2026-10-08T00:00:00.000Z","score":0.00222,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00222,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00222,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00222,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00222,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00222,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00222,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00222,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00222,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00225,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00225,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00225,"percentile":0.12307}],"last30":[{"date":"2026-10-08T00:00:00.000Z","score":0.00222,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00222,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00222,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00222,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00222,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00222,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00222,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00222,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00222,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00225,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00225,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00225,"percentile":0.12307}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-20","name":"Improper Input Validation","description":"The product receives input or data, but it does\n        not validate or incorrectly validates that the input has the\n        properties that are required to process the data safely and\n        correctly.","type":"weakness","status":"Stable","abstraction":"Class","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/20.html"},{"id":"CWE-862","name":"Missing Authorization","description":"The product does not perform an authorization check when an actor attempts to access a resource or perform an action.","type":"weakness","status":"Incomplete","abstraction":"Class","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/862.html"}],"affected":[{"vendor":"backstage","product":"backstage","name":"backstage","label":"backstage","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 1.54.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.54.1","eol":null,"hubHref":"/vendor/backstage/backstage"},{"vendor":"@backstage","product":"plugin-kubernetes-backend","name":"plugin-kubernetes-backend","label":"plugin-kubernetes-backend","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 0.21.8","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 0.21.8","eol":null,"hubHref":"/vendor/backstage/plugin-kubernetes-backend"},{"vendor":"linuxfoundation","product":"backstage","name":"backstage","label":"backstage","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 1.54.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.54.1","eol":null,"hubHref":"/vendor/linuxfoundation/backstage"},{"vendor":"linuxfoundation","product":"backstage\\/plugin-kubernetes-backend","name":"backstage\\/plugin-kubernetes-backend","label":"backstage\\/plugin-kubernetes-backend","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 0.21.8","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 0.21.8","eol":null,"hubHref":"/vendor/linuxfoundation/backstageplugin-kubernetes-backend"},{"vendor":"@backstage","product":"plugin-kubernetes-backend","name":"@backstage/plugin-kubernetes-backend","label":"plugin-kubernetes-backend","ecosystem":"Npm","cpePart":null,"purl":"pkg:npm/@backstage/plugin-kubernetes-backend","purlType":"npm","versions":[{"text":"< 0.21.8","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 0.21.8","eol":null,"hubHref":null}],"affectedCount":5,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/backstage/backstage/security/advisories/GHSA-r9ph-3637-55px","label":"github.com/backstage/backstage/security/advisories/GHSA-r9ph-3637-55px","hostname":"github.com","tags":["X Refsource CONFIRM","WEB","Mitigation","Vendor Advisory"]},{"url":"https://github.com/backstage/backstage/commit/2d5d3e77d630455d6d48cfa8f31fd3c126fd6f29","label":"github.com/backstage/backstage/commit/2d5d3e77d630455d6d48cfa8f31fd3c126fd6f29","hostname":"github.com","tags":["X Refsource MISC","WEB","Patch"]},{"url":"https://github.com/backstage/backstage/releases/tag/v1.54.1","label":"github.com/backstage/backstage/releases/tag/v1.54.1","hostname":"github.com","tags":["X Refsource MISC","WEB","Patch","Release Notes"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-106563","label":"nvd.nist.gov/vuln/detail/CVE-2026-106563","hostname":"nvd.nist.gov","tags":["Advisory"]},{"url":"https://github.com/backstage/backstage","label":"github.com/backstage/backstage","hostname":"github.com","tags":["PACKAGE"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-10-07T14:56:08.067Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-10-10T02:28:55.359Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":26,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-19T22:44:01.545Z","stale":false,"partial":false}}