/

CVE-2026-118755

Severity:

HIGH RISK

(7.2)

OS Command Injection (CWE-78) in Volmarg Personal PMS

CVE-2026-118755

Deferred

Vulnerability type

Category:

OS Command Injection

CWE:

CWE-78

Impact:

Authenticated remote code 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

Volmarg Personal Management System contains an OS command injection flaw in the storage module's tree command, where folder paths are not safely escaped. An authenticated user who can create and move or copy directories with shell metacharacters may cause commands to execute as the web server account.

Volmarg Personal Management System contains an OS command injection flaw in the storage module's tree command, where folder paths are not safely escaped. An authenticated user who can create and move or copy directories with shell metacharacters may cause commands to execute as the web server account.

Affected context

The vulnerability occurs in deployments of Volmarg Personal Management System through version 2.1.0 when the storage module processes folder paths during tree, move, or copy operations. Risk is present when authenticated users can create or manipulate directories beneath the application's upload storage and those paths reach a shell command without adequate escaping.

The vulnerability occurs in deployments of Volmarg Personal Management System through version 2.1.0 when the storage module processes folder paths during tree, move, or copy operations. Risk is present when authenticated users can create or manipulate directories beneath the application's upload storage and those paths reach a shell command without adequate escaping.

Exploit preconditions

  • Attack surface: The storage module's directory tree and file-management operations
  • Required access: An authenticated account with permission to create and manipulate stored directories
  • Trigger point: Moving or copying a crafted directory under the upload storage path
  • Why exploitation is possible: User-controlled folder names are incorporated into shell command processing without reliably neutralizing shell metacharacters
  • Attack surface: The storage module's directory tree and file-management operations
  • Required access: An authenticated account with permission to create and manipulate stored directories
  • Trigger point: Moving or copying a crafted directory under the upload storage path
  • Why exploitation is possible: User-controlled folder names are incorporated into shell command processing without reliably neutralizing shell metacharacters

Why this happens

The underlying flaw is command construction from user-controlled filesystem paths without applying safe argument handling or eliminating shell interpretation. When a folder name is passed into the storage module's tree command, shell metacharacters may be interpreted as command syntax rather than ordinary data. This behavior maps to CWE-78, Improper Neutralization of Special Elements used in an OS Command.

The underlying flaw is command construction from user-controlled filesystem paths without applying safe argument handling or eliminating shell interpretation. When a folder name is passed into the storage module's tree command, shell metacharacters may be interpreted as command syntax rather than ordinary data. This behavior maps to CWE-78, Improper Neutralization of Special Elements used in an OS Command.

Potential impact

  • An attacker may execute arbitrary operating system commands as the web server user.
  • The application may be modified, disrupted, or used to access locally available data.
  • Credentials, uploaded files, and configuration data could be exposed.
  • The compromised service could be used to support lateral movement, depending on its permissions.
  • An attacker may execute arbitrary operating system commands as the web server user.
  • The application may be modified, disrupted, or used to access locally available data.
  • Credentials, uploaded files, and configuration data could be exposed.
  • The compromised service could be used to support lateral movement, depending on its permissions.

General mitigation guidance

Mitigation generally focuses on removing shell interpretation from filesystem

operations and reducing the trust placed in user-controlled path components.

Common defensive patterns include:

  • Prefer native filesystem APIs that accept structured arguments instead of invoking a shell.
  • If process execution is unavoidable, use fixed command templates and argument-safe process APIs.
  • Validate directory names against a restrictive allowlist and reject unexpected metacharacters or path constructs.
  • Canonicalize paths and enforce containment within the intended storage directory.
  • Run the web service with the minimum filesystem, process, and network privileges required.
  • Treat uploaded content and user-created directory names as untrusted data throughout the storage workflow.

Mitigation generally focuses on removing shell interpretation from filesystem

operations and reducing the trust placed in user-controlled path components.

Common defensive patterns include:

  • Prefer native filesystem APIs that accept structured arguments instead of invoking a shell.
  • If process execution is unavoidable, use fixed command templates and argument-safe process APIs.
  • Validate directory names against a restrictive allowlist and reject unexpected metacharacters or path constructs.
  • Canonicalize paths and enforce containment within the intended storage directory.
  • Run the web service with the minimum filesystem, process, and network privileges required.
  • Treat uploaded content and user-created directory names as untrusted data throughout the storage workflow.

How teams detect issues like this

Organizations can look for this weakness through:

  • Static analysis rules that identify shell execution APIs receiving path or request-derived values.
  • Code review checks for string concatenation or interpolation when building operating-system commands.
  • Tests using metacharacter-containing filenames in isolated environments to verify that names remain data.
  • Runtime monitoring for unexpected child processes spawned by the web service.
  • Application and process-audit logs showing unusual directory operations or command execution.
  • Policy enforcement that prohibits shell-based filesystem handling where native APIs are available.

Organizations can look for this weakness through:

  • Static analysis rules that identify shell execution APIs receiving path or request-derived values.
  • Code review checks for string concatenation or interpolation when building operating-system commands.
  • Tests using metacharacter-containing filenames in isolated environments to verify that names remain data.
  • Runtime monitoring for unexpected child processes spawned by the web service.
  • Application and process-audit logs showing unusual directory operations or command execution.
  • Policy enforcement that prohibits shell-based filesystem handling where native APIs are available.

Sources

SourceLink
github.comgithub.com/Volmarg/personal-management-system
github.comgithub.com/Volmarg/personal-management-system/blob/v2.1.0/src/Services/Shell/ShellAbstractService.php#L55-L76
github.comgithub.com/Volmarg/personal-management-system/blob/v2.1.0/src/Services/Shell/ShellTreeService.php#L71-L102
github.comgithub.com/Volmarg/personal-management-system/issues/165
vulncheck.comvulncheck.com/advisories/volmarg-personal-management-system-through-2.1.0-os-command-injection-via-storage-folder-path

Frequently asked

questions

It can be exploitable through the application's authenticated storage

functions when the attacker can create and manipulate directories.

The attacker needs a valid account with sufficient permissions to create a

directory and trigger the relevant move or copy operation.

Avoid shell execution for filesystem tasks and use native filesystem APIs with

strict path validation and containment checks.

Treat all filenames and paths as untrusted input, prohibit unsafe command

construction during review, apply least privilege to the web service, and

monitor for unexpected child-process activity.

It can be exploitable through the application's authenticated storage

functions when the attacker can create and manipulate directories.

The attacker needs a valid account with sufficient permissions to create a

directory and trigger the relevant move or copy operation.

Avoid shell execution for filesystem tasks and use native filesystem APIs with

strict path validation and containment checks.

Treat all filenames and paths as untrusted input, prohibit unsafe command

construction during review, apply least privilege to the web service, and

monitor for unexpected child-process activity.

Find out what's already
exploitable in your codebase.