{"id":"CVE-2026-106498","state":"PUBLISHED","title":"Backstage: Improper URL validation in catalog entity placeholder resolution","description":"Backstage is an open framework for building developer portals. Prior to 3.5.1, 3.6.2, 3.7.2, 3.8.2 and 3.9.1, the @backstage/plugin-catalog-backend package is affected by improper url validation in catalog entity placeholder resolution. An authenticated Backstage user could craft a catalog entity with placeholder directives that reference resources outside the entity's source repository. Under certain configurations, this could allow access to data not intended to be available to the user. This issue is fixed in versions 3.5.1, 3.6.2, 3.7.2, 3.8.2 and 3.9.1.","publishedAt":"2026-10-06T21:23:37.560Z","updatedAt":"2026-10-09T01:55:00.494Z","severity":{"score":7.7,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","source":"GitHub_M"},"assigner":"GitHub_M","products":["backstage backstage","@backstage plugin-catalog-backend"],"affected":[{"vendor":"backstage","product":"backstage","versions":[{"version":"< 1.49.6","status":"affected"},{"version":">= 1.50.0-next.0, < 1.50.5","status":"affected"},{"version":">= 1.51.0-next.0, < 1.51.3","status":"affected"},{"version":">= 1.52.0-next.0, < 1.53.2","status":"affected"},{"version":">= 1.54.0-next.0, < 1.54.6","status":"affected"}]},{"vendor":"@backstage","product":"plugin-catalog-backend","versions":[{"version":"< 3.5.1","status":"affected"},{"version":">= 3.6.0, < 3.6.2","status":"affected"},{"version":">= 3.7.0, < 3.7.2","status":"affected"},{"version":">= 3.8.0, < 3.8.2","status":"affected"},{"version":">= 3.9.0, < 3.9.1","status":"affected"}]}],"references":["https://github.com/backstage/backstage/security/advisories/GHSA-qgvj-qcf8-xq73","https://github.com/backstage/backstage/commit/0b0f6fc89b4eb4872c76a498abbe1dc65998bb6e","https://github.com/backstage/backstage/commit/286bfc1f9cc3608a073b41016be302785be385d1","https://github.com/backstage/backstage/commit/61a10f19926aeda7f4a32de48d733e6710584634","https://github.com/backstage/backstage/commit/99729e925fd2bd40ba210022351a0ee6318e6197","https://github.com/backstage/backstage/commit/e786ac309ed2d775daf2309393c015c43902d6f6","https://github.com/backstage/backstage/releases/tag/v1.49.6","https://github.com/backstage/backstage/releases/tag/v1.50.5","https://github.com/backstage/backstage/releases/tag/v1.51.3","https://github.com/backstage/backstage/releases/tag/v1.53.2","https://github.com/backstage/backstage/releases/tag/v1.54.6"],"weaknesses":["CWE-863","CWE-918"],"ingestedAt":"2026-10-29T20:10:23.711Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/106xxx/CVE-2026-106498.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-106498","state":"PUBLISHED","datePublished":"2026-10-06T21:23:37.560Z","dateUpdated":"2026-10-09T01:55:00.494Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-10-06T18:46:47.766Z"},"containers":{"cna":{"title":"Backstage: Improper URL validation in catalog entity placeholder resolution","descriptions":[{"lang":"en","value":"Backstage is an open framework for building developer portals. Prior to 3.5.1, 3.6.2, 3.7.2, 3.8.2 and 3.9.1, the @backstage/plugin-catalog-backend package is affected by improper url validation in catalog entity placeholder resolution. An authenticated Backstage user could craft a catalog entity with placeholder directives that reference resources outside the entity's source repository. Under certain configurations, this could allow access to data not intended to be available to the user. This issue is fixed in versions 3.5.1, 3.6.2, 3.7.2, 3.8.2 and 3.9.1."}],"affected":[{"vendor":"backstage","product":"backstage","versions":[{"version":"< 1.49.6","status":"affected"},{"version":">= 1.50.0-next.0, < 1.50.5","status":"affected"},{"version":">= 1.51.0-next.0, < 1.51.3","status":"affected"},{"version":">= 1.52.0-next.0, < 1.53.2","status":"affected"},{"version":">= 1.54.0-next.0, < 1.54.6","status":"affected"}]},{"vendor":"@backstage","product":"plugin-catalog-backend","versions":[{"version":"< 3.5.1","status":"affected"},{"version":">= 3.6.0, < 3.6.2","status":"affected"},{"version":">= 3.7.0, < 3.7.2","status":"affected"},{"version":">= 3.8.0, < 3.8.2","status":"affected"},{"version":">= 3.9.0, < 3.9.1","status":"affected"}]}],"references":[{"url":"https://github.com/backstage/backstage/security/advisories/GHSA-qgvj-qcf8-xq73","name":"https://github.com/backstage/backstage/security/advisories/GHSA-qgvj-qcf8-xq73","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/backstage/backstage/commit/0b0f6fc89b4eb4872c76a498abbe1dc65998bb6e","name":"https://github.com/backstage/backstage/commit/0b0f6fc89b4eb4872c76a498abbe1dc65998bb6e","tags":["x_refsource_MISC"]},{"url":"https://github.com/backstage/backstage/commit/286bfc1f9cc3608a073b41016be302785be385d1","name":"https://github.com/backstage/backstage/commit/286bfc1f9cc3608a073b41016be302785be385d1","tags":["x_refsource_MISC"]},{"url":"https://github.com/backstage/backstage/commit/61a10f19926aeda7f4a32de48d733e6710584634","name":"https://github.com/backstage/backstage/commit/61a10f19926aeda7f4a32de48d733e6710584634","tags":["x_refsource_MISC"]},{"url":"https://github.com/backstage/backstage/commit/99729e925fd2bd40ba210022351a0ee6318e6197","name":"https://github.com/backstage/backstage/commit/99729e925fd2bd40ba210022351a0ee6318e6197","tags":["x_refsource_MISC"]},{"url":"https://github.com/backstage/backstage/commit/e786ac309ed2d775daf2309393c015c43902d6f6","name":"https://github.com/backstage/backstage/commit/e786ac309ed2d775daf2309393c015c43902d6f6","tags":["x_refsource_MISC"]},{"url":"https://github.com/backstage/backstage/releases/tag/v1.49.6","name":"https://github.com/backstage/backstage/releases/tag/v1.49.6","tags":["x_refsource_MISC"]},{"url":"https://github.com/backstage/backstage/releases/tag/v1.50.5","name":"https://github.com/backstage/backstage/releases/tag/v1.50.5","tags":["x_refsource_MISC"]},{"url":"https://github.com/backstage/backstage/releases/tag/v1.51.3","name":"https://github.com/backstage/backstage/releases/tag/v1.51.3","tags":["x_refsource_MISC"]},{"url":"https://github.com/backstage/backstage/releases/tag/v1.53.2","name":"https://github.com/backstage/backstage/releases/tag/v1.53.2","tags":["x_refsource_MISC"]},{"url":"https://github.com/backstage/backstage/releases/tag/v1.54.6","name":"https://github.com/backstage/backstage/releases/tag/v1.54.6","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":7.7,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"LOW","scope":"CHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-863","lang":"en","description":"CWE-863: Incorrect Authorization","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-918","lang":"en","description":"CWE-918: Server-Side Request Forgery (SSRF)","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-10-06T21:23:37.560Z"},"source":{"advisory":"GHSA-qgvj-qcf8-xq73","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-10-09T01:54:51.540668Z","id":"CVE-2026-106498","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-09T01:55:00.494Z"}}]}}}