Advisory · CVE-2026-101045
Fleet's Homebrew cask scripts ran attacker-crafted metadata as root
Fleet-maintained macOS install and uninstall scripts generated from Homebrew cask metadata failed to escape shell metacharacters at every site, allowing root command execution via upstream cask content.
- Vendor
- fleetdm
- Product
- Fleet
- Identifier / CWE
- CVE-2026-101045
CWE-78 - Action timing
- Immediate
Explain it like I’m five
Fleet wrote installation recipes by copying text from a public cookbook, but forgot to sanitize some of the copied lines. A prankster who slipped a booby-trapped line into the cookbook got their instructions executed as the boss of every managed Mac that cooked the recipe.
- 01Scripts from cask metadata
Fleet-maintained app install and uninstall scripts for macOS were generated from Homebrew cask metadata.
- 02Incomplete escaping
In manifests generated before 2026-08-19, the script generator escaped this metadata at some interpolation sites but not all of them.
- 03Crafted metadata lands
Cask metadata containing shell metacharacters, for example $(...) command substitution, could be carried into the generated scripts if it passed upstream Homebrew cask review and Fleet's review of the automated ingestion pull request.
- 04Root execution
The resulting scripts execute as root on managed macOS hosts that install or uninstall the affected Fleet-maintained app.
What happened
Fleet-maintained app install and uninstall scripts for macOS were generated from Homebrew cask metadata. In manifests generated before 2026-08-19, the script generator escaped this metadata at some interpolation sites but not all of them, so cask metadata containing shell metacharacters (for example $(…) command substitution) could be carried into scripts that execute as root on managed macOS hosts. An attacker who could land crafted metadata in an upstream Homebrew cask, without needing any Fleet credentials, could achieve arbitrary command execution as root on managed macOS hosts that install or uninstall the affected Fleet-maintained app; exploitation required the crafted metadata to pass both upstream Homebrew cask review and Fleet’s review of the automated ingestion pull request.
The fix landed in Fleet’s ingestion pipeline on 2026-08-19 so that all manifests generated on or after that date escape cask metadata at every interpolation site. Because manifests are generated centrally and distributed as pre-built content, remediation applied to all deployments with no customer action, and the code fix is included in Fleet v4.92.0.
What to do
- Confirm the Fleet server is running v4.92.0 or later so the pipeline fix is in place.
- Identify managed macOS hosts that installed or uninstalled Fleet-maintained apps from manifests generated before 2026-08-19.
- Review those hosts for anomalous root activity around install and uninstall events, including unexpected processes, persistence, and outbound connections.
- Treat any confirmed anomaly as a host compromise: reimage the host and rotate credentials that were present on it.
Management note
The trust boundary here extended beyond Fleet itself into upstream Homebrew content, which is an unusual and instructive shape for a device-management platform. The remediation was centrally applied, so the remaining work is forensic: the question is not whether to patch but whether any crafted metadata made it through the two review gates before August 19.