Server-Side Request Forgery (SSRF)Weakness · CWE-918

CVE-2024-53983

MEDIUM · 5.4 CVSS v3.1 Published 2024-11-29
Mitigation only
No fix yet — a mitigation exists. There is no fixed release. A documented workaround reduces exposure in the meantime.
See remediation →
58/100
Remediation priority · Elevated
Remotely reachable

Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.

NVD · unedited
The Backstage Scaffolder plugin Houses types and utilities for building scaffolder-related modules. A vulnerability is identified in Backstage Scaffolder template functionality where Server-Side Template Injection (SSTI) can be exploited to perform Git config injection. The vulnerability allows an attacker to capture privileged git tokens used by the Backstage Scaffolder plugin. With these tokens, unauthorized access to sensitive resources in git can be achieved. The impact is considered medium severity as the Backstage Threat Model recommends restricting access to adding and editing templates in the Backstage Catalog plugin. The issue has been resolved in versions `v0.4.12`, `v0.5.1` and `v0.6.1` of the `@backstage/plugin-scaffolder-node` package. Users are encouraged to upgrade to this version to mitigate the vulnerability. Users are advised to upgrade. Users unable to upgrade may ensure that templates do not change git config.

Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.

dbcve analysis · high confidence

Server-Side Template Injection (SSTI) vulnerability in Backstage Scaffolder template functionality allows attackers to inject malicious git config directives, enabling capture of privileged git tokens used by the scaffolder plugin.

MitigationUpgrade @backstage/plugin-scaffolder-node to versions v0.4.12, v0.5.1, or v0.6.1; alternatively, audit and restrict templates to prevent git config modifications.

Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.

CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.

From the vector
Attack vector
Network
Complexity
High
Privileges
High
User interaction
Required
Scope
Changed
Confidentiality
High
Integrity
None
Availability
None

CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:C/C:H/I:N/A:N

Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.

dbcve checks

Work through these to decide whether this CVE applies to you.

  1. Identify installed @backstage/plugin-scaffolder-node version
    Run 'npm list @backstage/plugin-scaffolder-node' or check package.json dependencies to find the exact version number installed
    Affected if The installed version is earlier than v0.4.12, or falls between v0.4.x and v0.5.1, or between v0.5.x and v0.6.1 (e.g., v0.3.x, v0.4.0-v0.4.11, v0.5.0)
  2. Confirm Scaffolder plugin is enabled
    Check your Backstage app configuration (app-config.yaml) for 'scaffolder' under the 'plugins' section, or verify @backstage/plugin-scaffolder is listed in your packages
    Affected if The Scaffolder plugin is enabled and operational in your Backstage instance
  3. Identify if templates accept user-provided input
    Review your Scaffolder template files (typically in templates/ directory or your custom template definitions) for usage of ${{ secrets }}, ${{ parameters }}, or any user-controlled values that get rendered into template fields
    Affected if Templates process user-supplied values that could be injected with git config directives
  4. Inspect template content for git config directives
    Search template files for occurrences of 'git config', 'gitconfig', or '.git' path references that might be influenced by template variables
    Affected if Templates contain or process values that could include git configuration commands
  5. Verify git token usage in scaffolder operations
    Check if the scaffolder uses git credentials or tokens for repository operations (review environment variables like GIT_TOKEN, or scaffolder configuration for git credentials)
    Affected if Privileged git tokens are configured for use by the Scaffolder plugin

You are affected if @backstage/plugin-scaffolder-node is at a vulnerable version AND the Scaffolder plugin is active with templates that accept user input, as this combination enables the SSTI to inject malicious git config directives and capture git tokens.

Generated from the published advisory. Verify against your own configuration.

Check your environment

Paste your version and any relevant configuration and it will be compared against the affected criteria above. Do not include secrets or credentials.

AI-assisted, checked against the advisory. Informational, not a guarantee.

Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.

dbcve · scoped
Mitigation available No clean upgrade yet — mitigate in the meantime
Mitigation

Upgrade @backstage/plugin-scaffolder-node to versions v0.4.12, v0.5.1, or v0.6.1; alternatively, audit and restrict templates to prevent git config modifications.

Recommended fix High confidence

@backstage/plugin-scaffolder-node v0.6.1 (or v0.4.12/v0.5.1 depending on your current Backstage version)

  1. Identify the current version of @backstage/plugin-scaffolder-node in your project by reviewing package.json
  2. Run npm install @backstage/plugin-scaffolder-node@<fixed-version> or yarn add @backstage/plugin-scaffolder-node@<fixed-version> to upgrade to a fixed version
  3. Verify the upgrade was successful by checking the installed version with npm list @backstage/plugin-scaffolder-node or yarn list --pattern @backstage/plugin-scaffolder-node
  4. Test that the Scaffolder functionality continues to work as expected after the upgrade
Caveat Review the @backstage/plugin-scaffolder-node changelog between your current version and the target version for any breaking changes that may affect your templates or custom actions

Generated from the published advisory — verify against the referenced sources before acting.

Have this fixed Scoped from the published advisory
  • Consultation4.0 h
  • Implementation2.0 h
  • Testing6.0 h
  • Review / QA2.0 h
14.0 hours of engineering $2,420
Get help mitigating

An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $3,872.

Scan for this in your stack

Free · runs locally
dbcve dependency scanner

Check whether your project pulls in CVE-2024-53983 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.

References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.

Primary sources

Practitioner notes

Contributed

Peer-ranked notes from engineers who’ve handled CVE-2024-53983 in production — separate from our analysis above.

No notes yet

Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.

What this is

A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.

What belongs here
  • Verified mitigations, workarounds, and config changes
  • Version or environment caveats, and links to real fixes
  • No weaponised exploit code, or anything meant to cause harm
  • No spam, self-promotion, credentials, or personal data