{"schemaVersion":3,"id":"CVE-2026-106506","aliases":["GHSA-vwp5-f99x-x3rq"],"status":"published","duplicateOf":null,"title":null,"description":"Backstage is an open framework for building developer portals. Prior to 4.1.0, the @backstage/plugin-scaffolder-backend package is affected by improper input validation in scaffolder task list ordering. An authenticated Backstage user with permission to create and read relevant scaffolder tasks may be able to infer confidential task data under specific conditions. Successful exploitation requires retained task secrets, visibility of a target task, knowledge of the secret structure, and repeated requests. This issue is fixed in version 4.1.0.","dates":{"published":"2026-10-06T21:44:31.904Z","modified":"2026-10-07T17:06:30.804Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":5.3,"severity":"medium","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":5.3,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Npm","score":5.3,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N","exploitability":4.1,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":5.3,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00217,"percentile":0.11462,"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.00217,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00217,"percentile":0.11462}],"last30":[{"date":"2026-10-07T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00217,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00217,"percentile":0.11462}]},"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-202","name":"Exposure of Sensitive Information Through Data Queries","description":"When trying to keep information confidential, an attacker can often infer some of the information by using statistics.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":"Medium","url":"https://cwe.mitre.org/data/definitions/202.html"},{"id":"CWE-203","name":"Observable Discrepancy","description":"The product behaves differently or sends different responses under different circumstances in a way that is observable to an unauthorized actor.","type":"weakness","status":"Incomplete","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/203.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","name":"plugin-scaffolder-backend","label":"plugin-scaffolder-backend","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 4.1.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 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.54.6","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 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":"< 4.1.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 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":"< 4.1.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 4.1.0","eol":null,"hubHref":null}],"affectedCount":5,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/backstage/backstage/security/advisories/GHSA-vwp5-f99x-x3rq","label":"github.com/backstage/backstage/security/advisories/GHSA-vwp5-f99x-x3rq","hostname":"github.com","tags":["X Refsource CONFIRM","WEB","Mitigation","Vendor Advisory"]},{"url":"https://github.com/backstage/backstage/commit/e673a869449874a9169e8f89852e75e862011b93","label":"github.com/backstage/backstage/commit/e673a869449874a9169e8f89852e75e862011b93","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-106506","label":"nvd.nist.gov/vuln/detail/CVE-2026-106506","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:44:31.904Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-10-07T17:06:30.804Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":21,"level":"low","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-19T17:08:34.162Z","stale":false,"partial":false}}