Backstage: Improper repository path validation in a Scaffolder backend module
Backstage is an open framework for building developer portals. Prior to 0.3.25, the @backstage/plugin-scaffolder-backend-module-confluence-to-markdown package is affected by improper repository path validation in a scaffolder backend module. An authenticated user who can execute an affected template and control its repository file location may cause generated content to be written outside the task workspace, within locations writable by the Backstage backend process. This issue is fixed in version 0.3.25.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-106560
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 02:24 UTC · Revision 1
Source evidence
Backstage: Improper repository path validation in a Scaffolder backend module
core-osv · Original sourcePublished 7 Oct 2026, 14:50 UTC
Backstage is an open framework for building developer portals. Prior to 0.3.25, the @backstage/plugin-scaffolder-backend-module-confluence-to-markdown package is affected by improper repository path validation in a scaffolder backend module. An authenticated user who can execute an affected template and control its repository file location may cause generated content to be written outside the task workspace, within locations writable by the Backstage backend process. This issue is fixed in version 0.3.25.
osv:CVE-2026-106560
Complete source record
{
"id": "6472863c235f8ff30a9b566dd2c628d84561175de17c6d4b515fb1c83d605c2f",
"url": "https://osv.dev/vulnerability/CVE-2026-106560",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Backstage: Improper repository path validation in a Scaffolder backend module",
"summary": "Backstage is an open framework for building developer portals. Prior to 0.3.25, the @backstage/plugin-scaffolder-backend-module-confluence-to-markdown package is affected by improper repository path validation in a scaffolder backend module. An authenticated user who can execute an affected template and control its repository file location may cause generated content to be written outside the task workspace, within locations writable by the Backstage backend process. This issue is fixed in version 0.3.25.",
"evidence": "osv:CVE-2026-106560",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-106560",
"aliases": [
"CVE-2026-106560",
"GHSA-2cmg-v53w-8xfp"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/backstage/backstage",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "0e67bc1fc88fba3a8cb716d3584cef05ecbcf9a8"
},
{
"fixed": "5f0000c1d0af05571e357926b3fa33a453337ff0"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:linuxfoundation:backstage:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "1.54.6"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "5f0000c1d0af05571e357926b3fa33a453337ff0"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "0e67bc1fc88fba3a8cb716d3584cef05ecbcf9a8"
}
],
"source": "REFERENCES_TAG",
"original_tag": "v1.54.6"
}
]
}
}
],
"versions": [
"v1.54.5",
"v1.54.4",
"v1.54.3",
"v1.54.2",
"v1.54.1",
"v1.54.0",
"v1.54.0-next.3",
"v1.54.0-next.2",
"v1.53.0",
"v1.54.0-next.1",
"v1.54.0-next.0",
"v1.53.0-next.2",
"v1.53.0-next.1",
"v1.52.0",
"v1.53.0-next.0",
"v1.52.0-next.2",
"v1.52.0-next.1",
"v1.51.0",
"v1.52.0-next.0",
"v1.51.0-next.3",
"v1.51.0-next.2",
"v1.51.0-next.1",
"v1.51.0-next.0",
"v1.50.0",
"v1.50.0-next.2",
"v1.50.0-next.1",
"v1.50.0-next.0",
"v1.49.0",
"v1.49.0-next.2",
"v1.49.0-next.1",
"v1.49.0-next.0",
"v1.48.0",
"v1.48.0-next.2",
"v1.48.0-next.1",
"v1.48.0-next.0",
"v1.47.0",
"v1.47.0-next.3",
"v1.47.0-next.2",
"v1.47.0-next.1",
"v1.47.0-next.0",
"v1.46.0",
"v1.45.0-next.2",
"v1.46.0-next.2",
"v1.46.0-next.1",
"v1.45.0",
"v1.46.0-next.0",
"v1.45.0-next.3",
"v1.45.0-next.1",
"v1.45.0-next.0",
"v1.44.0",
"v1.44.0-next.1",
"v1.44.0-next.2",
"v1.44.0-next.0",
"v1.43.0",
"v1.43.0-next.2",
"v1.43.0-next.0",
"v1.43.0-next.1",
"v1.42.0",
"v1.44.0-next.3",
"v1.42.0-next.3",
"v1.42.0-next.2",
"v1.42.0-next.1",
"v1.42.0-next.0",
"v1.41.0",
"v1.41.0-next.2",
"v1.41.0-next.1",
"v1.41.0-next.0",
"v1.40.0",
"v1.40.0-next.3",
"v1.40.0-next.2",
"v1.39.0",
"v1.40.0-next.1",
"v1.40.0-next.0",
"v1.39.0-next.3",
"v1.39.0-next.2",
"v1.39.0-next.1",
"v1.39.0-next.0",
"v1.38.0",
"v1.38.0-next.2",
"v1.37.0",
"v1.38.0-next.1",
"v1.38.0-next.0",
"v1.37.0-next.2",
"v1.37.0-next.1",
"v1.37.0-next.0",
"v1.36.0",
"v1.36.0-next.3",
"v1.35.0",
"v1.36.0-next.2",
"v1.36.0-next.1",
"v1.36.0-next.0",
"v1.35.0-next.2",
"v1.35.0-next.1",
"v1.35.0-next.0",
"v1.34.0",
"v1.34.0-next.2",
"v1.34.0-next.1",
"v1.34.0-next.0",
"v1.33.0",
"v1.33.0-next.3",
"v1.33.0-next.2",
"v1.33.0-next.1",
"v1.33.0-next.0",
"v1.32.0",
"v1.32.0-next.2",
"v1.32.0-next.1",
"v1.32.0-next.0",
"v1.31.0",
"v1.31.0-next.2",
"v1.31.0-next.1",
"v1.31.0-next.0",
"v1.30.0",
"v1.30.0-next.4",
"v1.30.0-next.3",
"v1.30.0-next.2",
"v1.30.0-next.1",
"v1.30.0-next.0",
"v1.29.0",
"v1.29.0-next.2",
"v1.29.0-next.1",
"v1.29.0-next.0",
"v1.28.0",
"v1.28.0-next.3",
"v1.28.0-next.1",
"v1.28.0-next.2",
"v1.28.0-next.0",
"v1.27.0",
"v1.27.0-next.2",
"v1.27.0-next.1",
"v1.27.0-next.0",
"v1.26.0",
"v1.26.0-next.1",
"v1.25.0",
"v1.26.0-next.0",
"v1.24.2",
"v1.24.1",
"v1.24.0",
"v1.24.0-next.2",
"v1.24.0-next.1",
"v1.24.0-next.0",
"v1.23.0",
"v1.23.0-next.3",
"v1.23.0-next.2",
"v1.23.0-next.1",
"v1.23.0-next.0",
"v1.22.0",
"v1.22.0-next.2",
"v1.22.0-next.1",
"v1.22.0-next.0",
"v1.21.0",
"v1.21.0-next.4",
"v1.21.0-next.3",
"v1.21.0-next.2",
"v1.21.0-next.1",
"v1.21.0-next.0",
"v1.20.0",
"v1.20.0-next.2",
"v1.20.0-next.1",
"v1.20.0-next.0",
"v1.19.0",
"v1.19.0-next.2",
"v1.19.0-next.1",
"v1.19.0-next.0",
"v1.18.0",
"v1.18.0-next.3",
"v1.18.0-next.2",
"v1.18.0-next.1",
"v1.18.0-next.0",
"v1.17.0",
"v1.15.0-next.1",
"v1.17.0-next.2",
"v1.17.0-next.1",
"v1.17.0-next.0",
"v1.16.0",
"v1.16.0-next.2",
"v1.16.0-next.1",
"v1.16.0-next.0",
"v1.15.0",
"v1.15.0-next.3",
"v1.15.0-next.2",
"v1.15.0-next.0",
"v1.14.0",
"v1.14.0-next.2",
"v1.14.0-next.1",
"v1.13.0",
"v1.14.0-next.0",
"v1.13.0-next.3",
"v1.13.0-next.2",
"v1.13.0-next.1",
"v1.13.0-next.0",
"v1.12.0",
"v1.12.0-next.2",
"v1.12.0-next.1",
"v1.12.0-next.0",
"v1.11.0",
"v1.11.0-next.2",
"v1.11.0-next.1",
"v1.11.0-next.0",
"v1.10.0",
"v1.10.0-next.2",
"v1.10.0-next.1",
"v1.10.0-next.0",
"v1.9.0",
"v1.9.0-next.4",
"v1.9.0-next.3",
"v1.9.0-next.2",
"v1.9.0-next.1",
"v1.9.0-next.0",
"v1.8.0-next.1",
"v1.8.0",
"v1.8.0-next.2",
"v1.7.0",
"v1.8.0-next.0",
"v1.7.0-next.2",
"v1.7.0-next.1",
"v1.7.0-next.0",
"v1.6.0",
"v1.6.0-next.3",
"v1.6.0-next.2",
"v1.6.0-next.1",
"v1.5.0",
"v1.6.0-next.0",
"v1.5.0-next.3",
"v1.5.0-next.2",
"v1.5.0-next.1",
"v1.5.0-next.0",
"v1.4.0",
"v1.4.0-next.3",
"v1.3.0",
"v1.4.0-next.1",
"v1.4.0-next.2",
"v1.4.0-next.0",
"v1.3.0-next.2",
"v1.3.0-next.1",
"v1.3.0-next.0",
"v1.2.0",
"v1.2.0-next.3",
"v1.2.0-next.2",
"v1.2.0-next.1",
"v1.2.0-next.0",
"v1.1.0",
"v1.1.0-next.3",
"v1.1.0-next.2",
"v1.1.0-next.1",
"v1.1.0-next.0",
"v1.0.0",
"v0.71.0",
"v0.71.0-next.0",
"v0.70.0",
"v0.69.0",
"v0.68.0",
"v0.67.0",
"v0.67.0-next.0",
"v0.66.0",
"v0.66.0-next.1",
"v0.66.0-next.0",
"v0.65.0",
"release-2022-01-27",
"v0.64.1",
"release-2022-01-20.1",
"v0.64.0",
"release-2022-01-20",
"v0.63.0",
"release-2022-01-13",
"v0.63.1",
"release-2022-01-18",
"v0.62.0",
"release-2022-01-04",
"v0.61.0",
"release-2021-12-30",
"v0.60.1",
"release-2021-12-24",
"v0.60.0",
"release-2021-12-23",
"v0.59.0",
"release-2021-12-16",
"v0.58.1",
"release-2021-12-10",
"v0.58.0",
"release-2021-12-09",
"v0.57.1",
"release-2021-12-07",
"v0.57.0",
"release-2021-12-02",
"v0.56.0",
"release-2021-11-25",
"v0.55.1",
"release-2021-11-19",
"v0.55.0",
"release-2021-11-18",
"v0.54.4",
"release-2021-11-17.1",
"v0.54.3",
"release-2021-11-17",
"v0.54.2",
"release-2021-11-12",
"v0.54.1",
"release-2021-11-11.1",
"v0.54.0",
"release-2021-11-11",
"v0.53.3",
"release-2021-11-08",
"v0.53.0",
"release-2021-10-28",
"v0.53.2",
"release-2021-10-29.1",
"v0.53.1",
"release-2021-10-29",
"v0.52.1",
"release-2021-10-22",
"v0.51.2",
"release-2021-10-19",
"v0.52.0",
"release-2021-10-21",
"v0.51.1",
"release-2021-10-16",
"v0.51.0",
"release-2021-10-14",
"v0.50.2",
"release-2021-10-13",
"v0.50.1",
"release-2021-10-11",
"v0.50.0",
"release-2021-10-07",
"release-2021-10-06",
"release-2021-10-04",
"v0.49.0",
"release-2021-09-30",
"v0.48.1",
"release-2021-09-28",
"v0.48.0",
"release-2021-09-23",
"v0.47.2",
"release-2021-09-21",
"v0.47.1",
"release-2021-09-17",
"v0.47.0",
"release-2021-09-16",
"v0.46.1",
"release-2021-09-14",
"v0.46.0",
"release-2021-09-09",
"v0.45.0",
"release-2021-09-02",
"v0.44.1",
"release-2021-08-31",
"v0.44.0",
"release-2021-08-26",
"v0.43.0",
"release-2021-08-20",
"v0.42.0",
"release-2021-08-19",
"v0.41.1",
"release-2021-08-17",
"v0.41.0",
"release-2021-08-12",
"v0.40.1",
"release-2021-08-11",
"v0.40.0",
"release-2021-08-05",
"v0.39.1",
"release-2021-08-03",
"v0.39.0",
"release-2021-07-29",
"v0.38.0",
"release-2021-07-22",
"v0.37.1",
"release-2021-07-16",
"v0.37.0",
"release-2021-07-15",
"v0.36.2",
"release-2021-07-14.1",
"v0.36.1",
"release-2021-07-14",
"v0.36.0",
"release-2021-07-08",
"v0.35.1",
"release-2021-07-07",
"v0.35.0",
"release-2021-07-01",
"v0.34.1",
"release-2021-06-28",
"v0.34.0",
"release-2021-06-24",
"v0.33.3",
"release-2021-06-21.1",
"v0.33.2",
"release-2021-06-21",
"v0.33.1",
"release-2021-06-18",
"v0.33.0",
"release-2021-06-17.1",
"v0.32.0",
"release-2021-06-17",
"v0.31.0",
"release-2021-06-10.1",
"v0.30.1",
"release-2021-06-10",
"v0.28.0",
"release-2021-05-20.1",
"v0.30.0",
"release-2021-06-03",
"v0.29.2",
"release-2021-06-01",
"v0.29.1",
"release-2021-05-31",
"v0.29.0",
"release-2021-05-27",
"v0.24.1",
"release-2021-05-04",
"v0.26.0",
"release-2021-05-12.1",
"v0.27.0",
"release-2021-05-20",
"v0.26.1",
"release-2021-05-17",
"v0.25.3",
"release-2021-05-12",
"v0.25.2",
"release-2021-05-11",
"v0.25.1",
"release-2021-05-10",
"v0.25.0",
"release-2021-05-06",
"v0.24.0",
"release-2021-04-29",
"v0.23.0",
"release-2021-04-22.1",
"v0.22.2",
"release-2021-04-22",
"v0.22.1",
"release-2021-04-21",
"v0.22.0",
"release-2021-04-15",
"v0.21.1",
"release-2021-04-13",
"v0.20.0",
"release-2021-03-31",
"v0.21.0",
"release-2021-04-08",
"v0.20.1",
"release-2021-03-31.1",
"v0.19.0",
"release-2021-03-25",
"v0.18.1",
"release-2021-03-19",
"v0.18.0",
"release-2021-03-18",
"v0.17.3",
"release-2021-03-17",
"v0.17.2",
"release-2021-03-16",
"v0.17.1",
"release-2021-03-11.1",
"v0.17.0",
"release-2021-03-11",
"v0.16.1",
"release-2021-03-09",
"v0.16.0",
"release-2021-03-04",
"v0.15.0",
"release-2021-02-23",
"v0.14.0",
"release-2021-02-18",
"v0.13.1",
"release-2021-02-16",
"v0.13.0",
"release-2021-02-11",
"v0.12.0",
"release-2021-02-05",
"v0.11.3",
"release-2021-02-03",
"v0.11.2",
"release-2021-02-01",
"v0.11.1",
"release-2021-01-29",
"v0.11.0",
"release-2021-01-28",
"v0.10.0",
"release-2021-01-21.1",
"v0.9.0",
"release-2021-01-21",
"v0.8.2",
"release-2021-01-20",
"v0.8.1",
"release-2021-01-18",
"v0.8.0",
"release-2021-01-14.1",
"v0.7.0",
"release-2021-01-14",
"v0.6.0",
"release-2021-01-09",
"v0.5.0",
"release-2021-01-08",
"release-2021-1-7",
"release-2021-01-07",
"v0.4.3",
"v0.4.2",
"v0.4.1",
"v0.4.0",
"v0.3.2",
"v0.3.1",
"v0.3.0",
"v0.2.0",
"v0.1.1",
"v0.1.1-alpha.26",
"v0.1.1-alpha.25",
"v0.1.1-alpha.24",
"v0.1.1-alpha.23",
"v0.1.1-alpha.22",
"v0.1.1-alpha.21",
"v0.1.1-alpha.20",
"v0.1.1-alpha.19",
"v0.1.1-alpha.18",
"v0.1.1-alpha.17",
"v0.1.1-alpha.16",
"v0.1.1-alpha.15",
"v0.1.1-alpha.13",
"v0.1.1-alpha.12",
"v0.1.1-alpha.11",
"v0.1.1-alpha.10",
"cli-old-cache-watch",
"v0.1.1-alpha.8",
"v0.1.1-alpha.7",
"v0.1.1-alpha.6",
"v0.1.1-alpha.5",
"v0.1.1-alpha.4",
"v0.1.1-alpha.3",
"v0.1.1-alpha.2",
"v0.1.1-alpha.1",
"v0.1.1-alpha.0",
"v0.1.0",
"hackweek-demo"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-106560.json"
}
}
],
"modified": "2026-10-28T02:30:32.334366971Z",
"provider": "osv",
"references": [
"https://github.com/backstage/backstage/releases/tag/v1.54.6",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/106xxx/CVE-2026-106560.json",
"https://github.com/backstage/backstage/security/advisories/GHSA-2cmg-v53w-8xfp",
"https://nvd.nist.gov/vuln/detail/CVE-2026-106560",
"https://github.com/backstage/backstage/commit/5f0000c1d0af05571e357926b3fa33a453337ff0"
],
"provider_metadata": {
"cwe_ids": [
"CWE-22"
],
"cna_assigner": "GitHub_M",
"unresolved_ranges": [
{
"extracted_events": [
{
"range": [
{
"fixed": "0.3.25"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
}
]
}
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/106xxx/CVE-2026-106560.json"
}
},
"related_cves": [
{
"value": "CVE-2026-106560",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 499617,
"published_at": "2026-10-07T14:50:25.384+00:00"
}