{"schemaVersion":3,"id":"CVE-2026-106559","aliases":["GHSA-75qf-886x-5xf2"],"status":"published","duplicateOf":null,"title":null,"description":"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 input validation in confluence to markdown scaffolder module. Insufficient input validation in the Confluence to Markdown scaffolder module could allow an attacker to influence file write operations during template execution. Exploitation requires a Backstage user to run a template that processes attacker-influenced Confluence content. This issue is fixed in version 0.3.25.","dates":{"published":"2026-10-07T14:48:03.121Z","modified":"2026-10-07T16:16:19.815Z","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:N/UI:R/S:U/C:N/I:H/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":6.3,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:L","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Npm","score":6.3,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:H/A:L","exploitability":5.4,"impact":7,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":6.5,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00332,"percentile":0.24906,"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.00315,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00332,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00332,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00332,"percentile":0.24906}],"last30":[{"date":"2026-10-08T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00315,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00332,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00332,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00332,"percentile":0.24906}]},"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-22","name":"Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","description":"The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/22.html"},{"id":"CWE-73","name":"External Control of File Name or Path","description":"The product allows user input to control or influence paths or file names that are used in filesystem operations.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/73.html"}],"affected":[{"vendor":"backstage","product":"backstage","name":"backstage","label":"backstage","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 1.54.6","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.54.6","eol":null,"hubHref":"/vendor/backstage/backstage"},{"vendor":"@backstage","product":"plugin-scaffolder-backend-module-confluence-to-markdown","name":"plugin-scaffolder-backend-module-confluence-to-markdown","label":"plugin-scaffolder-backend-module-confluence-to-markdown","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 0.3.25","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 0.3.25","eol":null,"hubHref":"/vendor/backstage/plugin-scaffolder-backend-module-confluence-to-markdown"},{"vendor":"linuxfoundation","product":"backstage","name":"backstage","label":"backstage","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 1.54.6","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.54.6","eol":null,"hubHref":"/vendor/linuxfoundation/backstage"},{"vendor":"linuxfoundation","product":"backstage\\/plugin-scaffolder-backend-module-confluence-to-markdown","name":"backstage\\/plugin-scaffolder-backend-module-confluence-to-markdown","label":"backstage\\/plugin-scaffolder-backend-module-confluence-to-markdown","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 0.3.25","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 0.3.25","eol":null,"hubHref":"/vendor/linuxfoundation/backstageplugin-scaffolder-backend-module-confluence-to-markdown"},{"vendor":"@backstage","product":"plugin-scaffolder-backend-module-confluence-to-markdown","name":"@backstage/plugin-scaffolder-backend-module-confluence-to-markdown","label":"plugin-scaffolder-backend-module-confluence-to-markdown","ecosystem":"Npm","cpePart":null,"purl":"pkg:npm/@backstage/plugin-scaffolder-backend-module-confluence-to-markdown","purlType":"npm","versions":[{"text":"< 0.3.25","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 0.3.25","eol":null,"hubHref":null}],"affectedCount":5,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/backstage/backstage/security/advisories/GHSA-75qf-886x-5xf2","label":"github.com/backstage/backstage/security/advisories/GHSA-75qf-886x-5xf2","hostname":"github.com","tags":["X Refsource CONFIRM","WEB","Mitigation","Vendor Advisory"]},{"url":"https://github.com/backstage/backstage/commit/506c2c11bce3ed9d1f8f50de5d6474b16e43a65e","label":"github.com/backstage/backstage/commit/506c2c11bce3ed9d1f8f50de5d6474b16e43a65e","hostname":"github.com","tags":["X Refsource MISC","WEB","Patch"]},{"url":"https://github.com/backstage/backstage/releases/tag/v1.54.6","label":"github.com/backstage/backstage/releases/tag/v1.54.6","hostname":"github.com","tags":["X Refsource MISC","WEB","Patch","Release Notes"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-106559","label":"nvd.nist.gov/vuln/detail/CVE-2026-106559","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:48:03.121Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-10-07T16:16:19.815Z","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-20T13:41:22.327Z","stale":false,"partial":false}}