Backstage has improper input validation in scaffolder task list ordering
### Impact 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. ### Patches Patched in `@backstage/plugin-scaffolder-backend` version `4.1.0` ### Workarounds - At the gateway or reverse proxy, reject task-list requests that specify custom ordering, or allow ordering only by `created_at`, `status`, and `created_by`. - Restrict scaffolder task creation and task read permissions to trusted users, preferably using owner-based task-read conditions. - Disabling task recovery can reduce secret retention after a task is claimed, but it does not protect secrets in queued tasks and should not be treated as complete mitigation.
- Products
- @backstage/plugin-scaffolder-backend
- Affected versions
- Not specified
- Fixed versions
- 4.1.0
- CVEs
- CVE-2026-106506
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 28 Oct 2026, 04:59 UTC · Revision 1
Source evidence
Backstage has improper input validation in scaffolder task list ordering
core-osv · Original sourcePublished 7 Oct 2026, 16:24 UTC
### Impact 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. ### Patches Patched in `@backstage/plugin-scaffolder-backend` version `4.1.0` ### Workarounds - At the gateway or reverse proxy, reject task-list requests that specify custom ordering, or allow ordering only by `created_at`, `status`, and `created_by`. - Restrict scaffolder task creation and task read permissions to trusted users, preferably using owner-based task-read conditions. - Disabling task recovery can reduce secret retention after a task is claimed, but it does not protect secrets in queued tasks and should not be treated as complete mitigation.
osv:GHSA-vwp5-f99x-x3rq
@backstage/plugin-scaffolder-backend
Fixed versions: 4.1.0
Complete source record
{
"id": "5baaecea3948a70e2d613786191139348c875361a7c1b91884f38a6d346bcb76",
"url": "https://osv.dev/vulnerability/GHSA-vwp5-f99x-x3rq",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Backstage has improper input validation in scaffolder task list ordering",
"summary": "### Impact 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. ### Patches Patched in `@backstage/plugin-scaffolder-backend` version `4.1.0` ### Workarounds - At the gateway or reverse proxy, reject task-list requests that specify custom ordering, or allow ordering only by `created_at`, `status`, and `created_by`. - Restrict scaffolder task creation and task read permissions to trusted users, preferably using owner-based task-read conditions. - Disabling task recovery can reduce secret retention after a task is claimed, but it does not protect secrets in queued tasks and should not be treated as complete mitigation.",
"evidence": "osv:GHSA-vwp5-f99x-x3rq",
"products": [
{
"name": {
"value": "@backstage/plugin-scaffolder-backend",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "4.1.0",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
}
],
"severity": "medium",
"structured": {
"id": "GHSA-vwp5-f99x-x3rq",
"aliases": [
"CVE-2026-106506",
"GHSA-vwp5-f99x-x3rq"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N"
}
],
"affected": [
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
},
{
"fixed": "4.1.0"
}
]
}
],
"package": {
"name": "@backstage/plugin-scaffolder-backend",
"purl": "pkg:npm/%40backstage/plugin-scaffolder-backend",
"ecosystem": "npm"
},
"database_specific": {
"source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-vwp5-f99x-x3rq/GHSA-vwp5-f99x-x3rq.json"
}
}
],
"modified": "2026-10-07T16:30:05.491300441Z",
"provider": "osv",
"references": [
"https://github.com/backstage/backstage/security/advisories/GHSA-vwp5-f99x-x3rq",
"https://nvd.nist.gov/vuln/detail/CVE-2026-106506",
"https://github.com/backstage/backstage/commit/e673a869449874a9169e8f89852e75e862011b93",
"https://github.com/backstage/backstage",
"https://github.com/backstage/backstage/releases/tag/v1.54.6"
],
"provider_metadata": {
"cwe_ids": [
"CWE-202",
"CWE-203"
],
"severity": "MODERATE",
"github_reviewed": true,
"nvd_published_at": "2026-10-06T22:17:05Z",
"github_reviewed_at": "2026-10-07T16:24:12Z"
}
},
"related_cves": [
{
"value": "CVE-2026-106506",
"evidence": "/aliases"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 95159,
"published_at": "2026-10-07T16:24:12+00:00"
}