/

CVE-2026-92263

Severity:

HIGH RISK

(7.2)

OS Command Injection (CWE-78) in SparkyFitness Backup

CVE-2026-92263

Deferred

Vulnerability type

Category:

OS Command Injection

CWE:

CWE-78

Impact:

Arbitrary OS Command Execution

Severity:

HIGH RISK

(7.2)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

SparkyFitness contains an OS command injection vulnerability in the administrator backup-restore endpoint, where an uploaded archive filename is incorporated into a shell command without adequate neutralization.

An authenticated global administrator who can submit a crafted restore archive may execute arbitrary operating-system commands with the privileges of the server process.

SparkyFitness contains an OS command injection vulnerability in the administrator backup-restore endpoint, where an uploaded archive filename is incorporated into a shell command without adequate neutralization.

An authenticated global administrator who can submit a crafted restore archive may execute arbitrary operating-system commands with the privileges of the server process.

Affected context

The vulnerability occurs in self-hosted SparkyFitness deployments using the administrative backup-restore functionality. It requires an uploaded restore archive whose filename is processed by the server and interpolated into a shell command without sufficient separation between data and command syntax.

The vulnerability occurs in self-hosted SparkyFitness deployments using the administrative backup-restore functionality. It requires an uploaded restore archive whose filename is processed by the server and interpolated into a shell command without sufficient separation between data and command syntax.

Exploit preconditions

  • Attack surface: The api/admin/backup/restore endpoint
  • Required access: Authentication as a global administrator
  • Trigger point: Processing of the uploaded restore archive and its filename
  • Why exploitation is possible: Shell metacharacters in the filename can alter the intended command structure when the filename is interpolated into a command executed by the server
  • Attack surface: The api/admin/backup/restore endpoint
  • Required access: Authentication as a global administrator
  • Trigger point: Processing of the uploaded restore archive and its filename
  • Why exploitation is possible: Shell metacharacters in the filename can alter the intended command structure when the filename is interpolated into a command executed by the server

Why this happens

The underlying issue is failure to treat an uploaded filename as untrusted data before passing it into a shell command. Concatenating user-controlled values into command strings allows shell syntax contained in the value to be interpreted by the command processor, which maps to CWE-78: Improper Neutralization of Special Elements used in an OS Command.

The underlying issue is failure to treat an uploaded filename as untrusted data before passing it into a shell command. Concatenating user-controlled values into command strings allows shell syntax contained in the value to be interpreted by the command processor, which maps to CWE-78: Improper Neutralization of Special Elements used in an OS Command.

Potential impact

  • Arbitrary operating-system commands may execute with server-process privileges
  • Application data and configuration could be accessed, modified, or deleted
  • The host environment could be altered or used for further compromise
  • Credentials, tokens, or other sensitive material may be exposed
  • The service could be disrupted or used to affect connected systems
  • Arbitrary operating-system commands may execute with server-process privileges
  • Application data and configuration could be accessed, modified, or deleted
  • The host environment could be altered or used for further compromise
  • Credentials, tokens, or other sensitive material may be exposed
  • The service could be disrupted or used to affect connected systems

General mitigation guidance

Mitigation generally focuses on preventing untrusted filenames and archive metadata from reaching a shell interpreter.

Common defensive patterns include:

  • Use direct process-execution APIs with argument arrays rather than shell command construction
  • Treat uploaded filenames as untrusted labels and replace them with server-generated identifiers
  • Apply strict filename allowlists and canonicalization before storage or processing
  • Validate archive contents, paths, and metadata independently of the filename
  • Avoid invoking a shell when performing backup or restore operations
  • Run the application with the minimum filesystem, process, and network privileges required
  • Isolate restore processing from sensitive services and host resources where practical

Mitigation generally focuses on preventing untrusted filenames and archive metadata from reaching a shell interpreter.

Common defensive patterns include:

  • Use direct process-execution APIs with argument arrays rather than shell command construction
  • Treat uploaded filenames as untrusted labels and replace them with server-generated identifiers
  • Apply strict filename allowlists and canonicalization before storage or processing
  • Validate archive contents, paths, and metadata independently of the filename
  • Avoid invoking a shell when performing backup or restore operations
  • Run the application with the minimum filesystem, process, and network privileges required
  • Isolate restore processing from sensitive services and host resources where practical

How teams detect issues like this

Organizations can look for command-injection risks through:

  • Static analysis rules identifying string concatenation or interpolation passed to shell execution APIs
  • Code review checks for uploaded filenames, archive metadata, and other request values used in process commands
  • Runtime monitoring for unexpected child processes launched by the application
  • Web and application logs showing unusual administrator restore requests or suspicious filename characters
  • Policy enforcement that disallows shell invocation for file-management and archive-processing workflows
  • Automated security review tools that flag tainted data flows from upload endpoints to command execution

Organizations can look for command-injection risks through:

  • Static analysis rules identifying string concatenation or interpolation passed to shell execution APIs
  • Code review checks for uploaded filenames, archive metadata, and other request values used in process commands
  • Runtime monitoring for unexpected child processes launched by the application
  • Web and application logs showing unusual administrator restore requests or suspicious filename characters
  • Policy enforcement that disallows shell invocation for file-management and archive-processing workflows
  • Automated security review tools that flag tainted data flows from upload endpoints to command execution

Sources

SourceLink
github.comgithub.com/CodeWithCJ/SparkyFitness/commit/724730b6de5f2ca46856e0cbf113cc34f9c0689d
github.comgithub.com/CodeWithCJ/SparkyFitness/releases/tag/v1.6.0
github.comgithub.com/CodeWithCJ/SparkyFitness/security/advisories/GHSA-jh96-mj9m-x796

Frequently asked

questions

It can be exploitable through the network-facing restore endpoint when the deployment exposes that functionality and an attacker has the required administrative access.

The described attack requires authentication as a global administrator who can upload a restore archive.

Avoid shell interpretation entirely by using direct, parameterized process APIs and server-controlled filenames for restore operations.

Treat all uploaded names and archive metadata as untrusted, enforce allowlist validation, monitor process creation, and apply least-privilege controls to the application service.

It can be exploitable through the network-facing restore endpoint when the deployment exposes that functionality and an attacker has the required administrative access.

The described attack requires authentication as a global administrator who can upload a restore archive.

Avoid shell interpretation entirely by using direct, parameterized process APIs and server-controlled filenames for restore operations.

Treat all uploaded names and archive metadata as untrusted, enforce allowlist validation, monitor process creation, and apply least-privilege controls to the application service.

Find out what's already
exploitable in your codebase.