{"schemaVersion":3,"id":"CVE-2026-106501","aliases":["GHSA-g2v8-7jhw-pp8p"],"status":"published","duplicateOf":null,"title":null,"description":"Backstage is an open framework for building developer portals. Prior to 3.3.1, 3.4.1, 4.0.3 and 4.1.0, the @backstage/plugin-scaffolder-backend package is affected by sensitive information exposure in scaffolder. An authenticated Backstage user who can read another user's Scaffolder task may receive internal execution data. In deployments where that data contains credentials for an external service, this may permit disclosure and unauthorized changes in that external service. This issue is fixed in versions 3.3.1, 3.4.1, 4.0.3 and 4.1.0.","dates":{"published":"2026-10-06T21:32:25.997Z","modified":"2026-10-07T17:06:36.850Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":9.6,"severity":"critical","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":9.6,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Npm","score":9.6,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N","exploitability":7.9,"impact":9.7,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":9.6,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00483,"percentile":0.40317,"severity":"low","asOf":"2026-10-19T00:00:00.000Z","change":{"pp":null,"baselineDate":null,"baselineScore":null},"history":[{"date":"2026-10-07T00:00:00.000Z","score":0.00473,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00473,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00473,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00473,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00473,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00473,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00473,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00483,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00483,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00483,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00483,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00483,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00483,"percentile":0.40317}],"last30":[{"date":"2026-10-07T00:00:00.000Z","score":0.00473,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00473,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00473,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00473,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00473,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00473,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00473,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00483,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00483,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00483,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00483,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00483,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00483,"percentile":0.40317}]},"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-200","name":"Exposure of Sensitive Information to an Unauthorized Actor","description":"The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.","type":"weakness","status":"Draft","abstraction":"Class","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/200.html"},{"id":"CWE-201","name":"Insertion of Sensitive Information Into Sent Data","description":"The code transmits data to another actor, but a portion of the data includes sensitive information that should not be accessible to that actor.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/201.html"}],"affected":[{"vendor":"backstage","product":"backstage","name":"backstage","label":"backstage","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 1.49.6","noFixRecorded":false,"fixedIn":null},{"text":"≥ 1.50.0-next.0, < 1.50.5","noFixRecorded":false,"fixedIn":null},{"text":"≥ 1.51.0-next.0, < 1.54.6","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.49.6 | ≥ 1.50.0-next.0, < 1.50.5 | ≥ 1.51.0-next.0, < 1.54.6","eol":null,"hubHref":"/vendor/backstage/backstage"},{"vendor":"@backstage","product":"plugin-scaffolder-backend","name":"plugin-scaffolder-backend","label":"plugin-scaffolder-backend","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 3.3.1","noFixRecorded":false,"fixedIn":null},{"text":"≥ 3.4.0, < 3.4.1","noFixRecorded":false,"fixedIn":null},{"text":"≥ 4.0.0, < 4.0.3","noFixRecorded":false,"fixedIn":null},{"text":"≥ 4.0.4, < 4.1.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.3.1 | ≥ 3.4.0, < 3.4.1 | ≥ 4.0.0, < 4.0.3 | ≥ 4.0.4, < 4.1.0","eol":null,"hubHref":"/vendor/backstage/plugin-scaffolder-backend"},{"vendor":"linuxfoundation","product":"backstage","name":"backstage","label":"backstage","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 1.49.6","noFixRecorded":false,"fixedIn":null},{"text":"≥ 1.50.0, < 1.50.5","noFixRecorded":false,"fixedIn":null},{"text":"≥ 1.51.0, < 1.54.6","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.49.6 | ≥ 1.50.0, < 1.50.5 | ≥ 1.51.0, < 1.54.6","eol":null,"hubHref":"/vendor/linuxfoundation/backstage"},{"vendor":"linuxfoundation","product":"backstage\\/plugin-scaffolder-backend","name":"backstage\\/plugin-scaffolder-backend","label":"backstage\\/plugin-scaffolder-backend","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 3.3.1","noFixRecorded":false,"fixedIn":null},{"text":"≥ 3.4.0, < 3.4.1","noFixRecorded":false,"fixedIn":null},{"text":"≥ 4.0.0, < 4.0.3","noFixRecorded":false,"fixedIn":null},{"text":"≥ 4.0.4, < 4.1.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.3.1 | ≥ 3.4.0, < 3.4.1 | ≥ 4.0.0, < 4.0.3 | ≥ 4.0.4, < 4.1.0","eol":null,"hubHref":"/vendor/linuxfoundation/backstageplugin-scaffolder-backend"},{"vendor":"@backstage","product":"plugin-scaffolder-backend","name":"@backstage/plugin-scaffolder-backend","label":"plugin-scaffolder-backend","ecosystem":"Npm","cpePart":null,"purl":"pkg:npm/@backstage/plugin-scaffolder-backend","purlType":"npm","versions":[{"text":"< 3.3.1","noFixRecorded":false,"fixedIn":null},{"text":"≥ 3.4.0, < 3.4.1","noFixRecorded":false,"fixedIn":null},{"text":"≥ 4.0.0, < 4.0.3","noFixRecorded":false,"fixedIn":null},{"text":"≥ 4.0.4, < 4.1.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.3.1 | ≥ 3.4.0, < 3.4.1 | ≥ 4.0.0, < 4.0.3 | ≥ 4.0.4, < 4.1.0","eol":null,"hubHref":null}],"affectedCount":5,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/backstage/backstage/security/advisories/GHSA-g2v8-7jhw-pp8p","label":"github.com/backstage/backstage/security/advisories/GHSA-g2v8-7jhw-pp8p","hostname":"github.com","tags":["X Refsource CONFIRM","WEB","Mitigation","Vendor Advisory"]},{"url":"https://github.com/backstage/backstage/commit/66d2219edf0abe33ab7d0c1ced5d069d1e065be5","label":"github.com/backstage/backstage/commit/66d2219edf0abe33ab7d0c1ced5d069d1e065be5","hostname":"github.com","tags":["X Refsource MISC","WEB","Patch"]},{"url":"https://github.com/backstage/backstage/commit/c19838870476a8e29144c84b1a5ac0654ec20fb5","label":"github.com/backstage/backstage/commit/c19838870476a8e29144c84b1a5ac0654ec20fb5","hostname":"github.com","tags":["X Refsource MISC","WEB","Patch"]},{"url":"https://github.com/backstage/backstage/commit/e262d649981ff99bb01ca7077807ae3e25e85560","label":"github.com/backstage/backstage/commit/e262d649981ff99bb01ca7077807ae3e25e85560","hostname":"github.com","tags":["X Refsource MISC","WEB","Patch"]},{"url":"https://github.com/backstage/backstage/releases/tag/v1.49.6","label":"github.com/backstage/backstage/releases/tag/v1.49.6","hostname":"github.com","tags":["X Refsource MISC","WEB","Patch","Release Notes"]},{"url":"https://github.com/backstage/backstage/releases/tag/v1.50.5","label":"github.com/backstage/backstage/releases/tag/v1.50.5","hostname":"github.com","tags":["X Refsource MISC","WEB","Patch","Release Notes"]},{"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-106501","label":"nvd.nist.gov/vuln/detail/CVE-2026-106501","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-06T21:32:25.997Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-10-07T17:06:36.850Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":70,"level":"high","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-19T21:30:22.611Z","stale":false,"partial":false}}