Fleet-maintained app install and uninstall scripts for macOS are 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 (fleetdm/fleet#51324) 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.
Fleet Homebrew Cask OS Command Injection via Metadata
Problem type
Affected products
fleetdm
References
https://github.com/fleetdm/fleet/security/advisories/GHSA-fv3p-h7wv-2jgm
https://www.vulncheck.com/advisories/fleet-homebrew-cask-os-command-injection-via-metadata
GitHub Security Advisories
GHSA-v4vj-w767-q8qv
Fleet-maintained app install and uninstall scripts for macOS are generated from Homebrew cask...
https://github.com/advisories/GHSA-v4vj-w767-q8qvFleet-maintained app install and uninstall scripts for macOS are 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 (fleetdm/fleet#51324) 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.
https://github.com/fleetdm/fleet/security/advisories/GHSA-fv3p-h7wv-2jgm
https://nvd.nist.gov/vuln/detail/CVE-2026-101045
https://www.vulncheck.com/advisories/fleet-homebrew-cask-os-command-injection-via-metadata
https://github.com/advisories/GHSA-v4vj-w767-q8qv
JSON source
https://cveawg.mitre.org/api/cve/CVE-2026-101045Click to expand
{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2026-101045",
"assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"assignerShortName": "VulnCheck",
"dateUpdated": "2026-09-27T17:02:34.472Z",
"dateReserved": "2026-09-27T15:48:49.472Z",
"datePublished": "2026-09-27T17:02:34.472Z",
"state": "PUBLISHED"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"shortName": "VulnCheck",
"dateUpdated": "2026-09-27T17:02:34.472Z"
},
"datePublic": "2026-09-11T00:00:00.000Z",
"title": "Fleet Homebrew Cask OS Command Injection via Metadata",
"descriptions": [
{
"lang": "en",
"value": "Fleet-maintained app install and uninstall scripts for macOS are 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 (fleetdm/fleet#51324) 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."
}
],
"affected": [
{
"vendor": "fleetdm",
"product": "fleet",
"defaultStatus": "unaffected"
}
],
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"description": "Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')",
"cweId": "CWE-78",
"type": "CWE"
}
]
}
],
"references": [
{
"url": "https://github.com/fleetdm/fleet/security/advisories/GHSA-fv3p-h7wv-2jgm",
"name": "GitHub Security Advisory (GHSA-fv3p-h7wv-2jgm)",
"tags": [
"vendor-advisory"
]
},
{
"url": "https://www.vulncheck.com/advisories/fleet-homebrew-cask-os-command-injection-via-metadata",
"name": "VulnCheck Advisory: Fleet Homebrew Cask OS Command Injection via Metadata",
"tags": [
"third-party-advisory"
]
}
],
"metrics": [
{
"format": "CVSS"
},
{
"format": "CVSS",
"cvssV3_1": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:H/I:H/A:H",
"attackVector": "NETWORK",
"attackComplexity": "HIGH",
"privilegesRequired": "HIGH",
"userInteraction": "NONE",
"scope": "CHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"availabilityImpact": "HIGH",
"baseScore": 8,
"baseSeverity": "HIGH"
}
}
],
"credits": [
{
"lang": "en",
"value": "arpitjain099",
"type": "reporter"
}
]
}
}
}