/

CVE-2026-90444

Severity:

HIGH RISK

(8.8)

OS Command Injection (CWE-78) in File Transfer Interface

CVE-2026-90444

Awaiting Analysis

Vulnerability type

Category:

OS Command Injection

CWE:

CWE-78

Impact:

Authenticated Remote Code Execution

Severity:

HIGH RISK

(8.8)

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

A file-transfer interface accepts filenames containing shell metacharacters and later uses those names to construct an operating-system command. An authenticated attacker may exploit this behavior to execute arbitrary commands with the privileges of the automated process handling the uploaded file.

Affected context

The vulnerability can occur in file-transfer workflows where:

  • Authenticated users can upload or name files
  • An automated process later incorporates filenames into shell commands
  • Filenames are not restricted, safely escaped, or passed as structured arguments

Risk depends on the privileges and network access available to the process executing the command.

Exploit preconditions

  • Attack surface: Authenticated file-upload or file-transfer interface
  • Required access: Valid credentials with permission to submit or rename files
  • Trigger point: Automated processing of an uploaded file or its filename
  • Why exploitation is possible: Attacker-controlled filename data reaches a shell command without adequate command separation or validation

Why this happens

The underlying flaw is the use of untrusted filename data in a system command without treating it as data rather than executable shell syntax. Shell metacharacters can alter command interpretation when a process builds commands through string concatenation or equivalent unsafe execution patterns. This maps to CWE-78: Improper Neutralization of Special Elements used in an OS Command.

Potential impact

  • Arbitrary operating system commands may execute with the process account's privileges
  • Ingested log data may be read, altered, or deleted
  • Application or host confidentiality and integrity could be affected
  • The compromised process could provide a foothold for internal network movement
  • Additional systems or data may be exposed depending on reachable services

General mitigation guidance

Mitigation generally focuses on preventing user-controlled filenames from becoming shell syntax.

Common defensive patterns include:

  • Avoiding shell invocation and using APIs that pass executable arguments as structured values
  • Treating filenames as untrusted data and applying strict allowlist-based naming rules
  • Separating storage names from user-supplied display names
  • Applying context-appropriate escaping only where shell execution cannot be avoided
  • Running automated processors with least privilege and restricted network permissions
  • Limiting access to uploaded files and isolating ingestion workloads from sensitive systems
  • Preserving log integrity through append-only or independently protected storage where appropriate

How teams detect issues like this

Detection approaches commonly include:

  • Static analysis for command execution APIs receiving concatenated filenames or other user-controlled strings
  • Code review checks for shell invocation, string-built commands, and missing argument separation
  • Tests using benign metacharacter markers to verify that filenames remain inert data
  • Runtime monitoring for unexpected child processes, command interpreters, or unusual file-processing activity
  • Policy enforcement requiring structured process APIs and approved filename validation libraries
  • Automated security review tools that flag user input reaching operating-system command sinks

Sources

SourceLink
raw.githubusercontent.comraw.githubusercontent.com/cisagov/CSAF/develop/csaf_files/OT/white/2026/icsa-26-254-01.json
cisa.govcisa.gov/news-events/ics-advisories/icsa-26-254-01

Frequently asked

questions

It may be exploitable through the file-transfer interface when the attacker has valid credentials and the service is reachable.

The attacker generally needs an account authorized to upload, submit, or control filenames processed by the automated workflow.

Avoid invoking a shell for file-processing operations and pass validated filenames as structured arguments to the intended program.

Treat filenames as untrusted input, enforce restrictive naming policies, review command-execution paths, and run processing services with minimal privileges and network access.

Find out what's already
exploitable in your codebase.