{"id":"CVE-2026-106498","aliases":["EUVD-2026-94056","GHSA-qgvj-qcf8-xq73"],"status":"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.","severity":{"version":"3.1","score":7.7,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00307,"percentile":0.23812,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-863","CWE-918"],"published":"2026-10-06T21:23:37Z","modified":"2026-10-28T02:30:35Z","fixes":[{"ecosystem":"npm","package":"@backstage/plugin-catalog-backend","fixed_in":["3.9.1"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"@backstage/plugin-catalog-backend","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.9.1"}]}]},{"source":"osv","ecosystem":"npm","package":"@backstage/plugin-catalog-backend","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"3.9.1"}]}]}],"products":[{"vendor":"@backstage","product":"plugin-catalog-backend"},{"vendor":"backstage","product":"backstage"},{"vendor":"linuxfoundation","product":"backstage"},{"vendor":"linuxfoundation","product":"backstage_plugin-catalog-backend"}],"references":[{"url":"https://github.com/backstage/backstage/security/advisories/GHSA-qgvj-qcf8-xq73","tags":["x_refsource_CONFIRM","Mitigation","Vendor Advisory","advisory","web"]},{"url":"https://github.com/backstage/backstage/commit/0b0f6fc89b4eb4872c76a498abbe1dc65998bb6e","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/backstage/backstage/commit/286bfc1f9cc3608a073b41016be302785be385d1","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/backstage/backstage/commit/61a10f19926aeda7f4a32de48d733e6710584634","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/backstage/backstage/commit/99729e925fd2bd40ba210022351a0ee6318e6197","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/backstage/backstage/commit/e786ac309ed2d775daf2309393c015c43902d6f6","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/backstage/backstage/releases/tag/v1.49.6","tags":["x_refsource_MISC","Patch","Release Notes","web"]},{"url":"https://github.com/backstage/backstage/releases/tag/v1.50.5","tags":["x_refsource_MISC","Patch","Release Notes","web"]},{"url":"https://github.com/backstage/backstage/releases/tag/v1.51.3","tags":["x_refsource_MISC","Patch","Release Notes","web"]},{"url":"https://github.com/backstage/backstage/releases/tag/v1.53.2","tags":["x_refsource_MISC","Patch","Release Notes","web"]},{"url":"https://github.com/backstage/backstage/releases/tag/v1.54.6","tags":["x_refsource_MISC","Patch","Release Notes","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-106498","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-qgvj-qcf8-xq73"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/106xxx/CVE-2026-106498.json","tags":["advisory"]},{"url":"https://github.com/backstage/backstage","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-106498","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.","status":"published","published":"2026-10-06T21:23:37.56Z","modified":"2026-10-09T01:55:00.494Z","cvss":[{"version":"3.1","score":7.7,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","level":"high","assessor":"cna"}],"cwes":["CWE-863","CWE-918"],"updated_at":"2026-11-02T14:20:04.156238Z"}],"euvd":[{"id":"EUVD-2026-94056","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.","status":"published","published":"2026-10-06T21:23:37Z","modified":"2026-10-09T01:55:00Z","cvss":[{"version":"3.1","score":7.7,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","level":"high"}],"updated_at":"2026-11-02T17:27:25.459601Z"}],"ghsa":[{"id":"GHSA-qgvj-qcf8-xq73","title":"Backstage: Improper URL validation in catalog entity placeholder resolution","description":"### Impact\n\nAn 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.\n\n### Patches\n\nPatched in `@backstage/plugin-catalog-backend` version `3.9.1`\n\n### Workarounds\n\nIf you're not able to update immediately:\n\n- Limit the scope of integration credentials (e.g., GitHub tokens) to only the repositories that Backstage needs to access.","status":"published","published":"2026-10-07T17:59:24Z","modified":"2026-10-07T17:59:29Z","cvss":[{"version":"3.1","score":7.7,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","level":"high"}],"cwes":["CWE-863","CWE-918"],"updated_at":"2026-11-02T14:41:28.013673Z"}],"nvd":[{"id":"CVE-2026-106498","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.","status":"published","published":"2026-10-06T22:17:04.713Z","modified":"2026-10-16T15:22:13.79Z","cvss":[{"version":"3.1","score":7.7,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","level":"high","assessor":"secondary"}],"cwes":["CWE-863","CWE-918"],"updated_at":"2026-11-02T14:12:54.809359Z"}],"osv":[{"id":"CVE-2026-106498","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.","status":"published","published":"2026-10-06T21:23:37.56Z","modified":"2026-10-28T02:30:35.704719374Z","cvss":[{"version":"3.1","score":7.7,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","level":"high"}],"cwes":["CWE-863","CWE-918"],"updated_at":"2026-11-02T15:44:54.583213Z"},{"id":"GHSA-qgvj-qcf8-xq73","title":"Backstage: Improper URL validation in catalog entity placeholder resolution","description":"### Impact\n\nAn 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.\n\n### Patches\n\nPatched in `@backstage/plugin-catalog-backend` version `3.9.1`\n\n### Workarounds\n\nIf you're not able to update immediately:\n\n- Limit the scope of integration credentials (e.g., GitHub tokens) to only the repositories that Backstage needs to access.","status":"published","published":"2026-10-07T17:59:24Z","modified":"2026-10-07T18:15:10.710570023Z","cvss":[{"version":"3.1","score":7.7,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N","level":"high"}],"cwes":["CWE-863","CWE-918"],"updated_at":"2026-11-02T15:46:54.40888Z"}]}}
