GHSA-xvgh-hmx8-9xxf: Race Condition
Impact
An authenticated user with permission to create and access Scaffolder tasks may, under specific timing and deployment conditions, affect files accessible to the Backstage backend. If backend application files are writable, the confidentiality, integrity, and availability of the backend may be compromised.
Patches
Patched in @backstage/plugin-scaffolder-backend version 4.1.0
Workarounds
- Restrict Scaffolder task creation and task-read permissions to trusted users through the permission policy. - Limit who can register or modify templates and which Scaffolder actions may execute. - Run backend application files read-only outside a dedicated, least-privilege Scaffolder working directory.
References
- Authorizing Scaffolder tasks, parameters, steps, and actions
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
npm/@backstage/plugin-scaffolder-backendto a version that resolves this vulnerability.Fixed in 4.1.0 - Upgrade
Upgrade
@backstage/plugin-scaffolder-backendto a version that resolves this vulnerability.Fixed in 4.1.0 - Compensating control
Limit who can register or modify templates and which Scaffolder actions may execute.
- Compensating control
Restrict Scaffolder task creation and task-read permissions to trusted users through the permission policy.
- Compensating control
Run backend application files read-only outside a dedicated, least-privilege Scaffolder working directory.
Event History
Frequently Asked Questions
Who can realistically exploit this issue?
An authenticated user needs permission to create and access Scaffolder tasks. Exploitation also depends on specific timing and deployment conditions, and is most consequential where backend application files are writable.
Are default deployments necessarily vulnerable to backend compromise?
The provided information does not establish that all default deployments are affected. Risk depends on whether the deployment allows the relevant user permissions and whether backend application files are writable.
What can be done if upgrading is not immediately possible?
Restrict Scaffolder task creation and task-read permissions to trusted users through the permission policy. Also limit who can register or modify templates and which Scaffolder actions may execute, and make backend application files read-only outside a dedicated least-privilege Scaffolder working directory.
What version contains the fix?
The issue is patched in @backstage/plugin-scaffolder-backend version 4.1.0.