/

CVE-2026-101045

Severity:

HIGH RISK

(8.0)

OS Command Injection (CWE-78) in Fleet macOS Scripts

CVE-2026-101045

Awaiting Analysis

Vulnerability type

Category:

OS Command Injection

CWE:

CWE-78

Impact:

Root-Level Command Execution

Severity:

HIGH RISK

(8.0)

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

Fleet-generated macOS app installation and removal scripts could carry shell metacharacters from Homebrew cask metadata into commands executed with root privileges. An attacker who successfully introduced crafted metadata into an upstream cask and passed both upstream and Fleet review could achieve arbitrary command execution on managed hosts installing or uninstalling the affected app.

Affected context

The vulnerability occurs in Fleet's automated generation of macOS install and uninstall scripts from Homebrew cask metadata. It is relevant to manifests generated before the ingestion-pipeline fix, where metadata was escaped at some interpolation sites but not consistently at all locations. Exploitation depends on a managed macOS host receiving and executing an affected manifest.

Exploit preconditions

  • Attack surface: Fleet-generated macOS application installation or uninstallation scripts
  • Required access: Ability to introduce crafted metadata into an upstream Homebrew cask; Fleet credentials are not inherently required
  • Review conditions: The modified cask must pass upstream Homebrew review and Fleet's review of the automated ingestion pull request
  • Trigger point: Execution of a generated install or uninstall script on a managed macOS host
  • Why exploitation is possible: Insufficient escaping allowed shell metacharacters from trusted cask metadata to reach commands executed with root privileges

Why this happens

The underlying issue is incomplete neutralization of untrusted metadata during shell-script generation. Although some interpolation sites escaped cask values, other sites incorporated those values into shell commands without equivalent protection. This behavior maps to CWE-78: Improper Neutralization of Special Elements used in an OS Command, because data originating outside the script's trusted source boundary could alter shell command interpretation.

Potential impact

  • Arbitrary command execution with root privileges on affected macOS hosts
  • Modification or removal of local applications and system files
  • Theft or alteration of data accessible to the managed host
  • Persistence, host compromise, or use of the system as a platform for further attacks
  • Disruption of Fleet-managed software deployment and removal workflows

General mitigation guidance

Mitigation focuses on preventing externally sourced metadata from becoming executable shell syntax.

Common defensive patterns include:

  • Escaping or encoding every value at every shell interpolation site
  • Preferably avoiding shell construction by using argument-based process APIs and fixed command templates
  • Treating package and cask metadata as untrusted input even when it has passed upstream review
  • Applying strict allowlists and schema validation to metadata fields used in generated scripts
  • Generating manifests centrally through a controlled, auditable pipeline
  • Running deployment actions with the minimum privileges required and limiting script access to sensitive resources
  • Adding regression tests for metacharacters, substitutions, quoting boundaries, and other shell parsing cases

How teams detect issues like this

Detection can combine source analysis, generated-artifact inspection, and deployment monitoring:

  • Use static analysis to identify string interpolation or concatenation of external metadata into shell commands.
  • Review generated scripts for unquoted variables, inconsistent escaping, command substitution syntax, and dynamically assembled execution paths.
  • Enforce policy checks requiring approved shell-escaping helpers or non-shell argument APIs at every interpolation site.
  • Compare generated manifests against source metadata and flag unexpected command-bearing characters.
  • Monitor managed hosts for unusual privileged child processes launched by application installation or removal workflows.
  • Use automated code-review and security-scanning tools as supplemental checks rather than relying on them as the sole control.

Sources

SourceLink
github.comgithub.com/fleetdm/fleet/security/advisories/GHSA-fv3p-h7wv-2jgm
vulncheck.comvulncheck.com/advisories/fleet-homebrew-cask-os-command-injection-via-metadata

Frequently asked

questions

It can have a remote supply-chain attack path, but exploitation depends on crafted metadata being accepted by the upstream cask review process and Fleet's automated ingestion review, followed by deployment and execution on a managed macOS host.

No direct Fleet credentials are necessarily required. The relevant prerequisite is the ability to place crafted metadata in an upstream cask and have it pass the required review processes.

Prevent metadata from being interpreted as shell syntax by using argument-based process execution where possible and applying complete, context-appropriate escaping at every remaining interpolation site.

Treat all package metadata as untrusted, enforce secure script-generation policies, test generated artifacts for shell injection cases, and apply least privilege to deployment processes.

Find out what's already
exploitable in your codebase.