Fleet: Observer-level enrollment secret extraction via ORDER BY oracle on Apple MDM commands endpoint
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Information disclosure, SQL injection
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-200 and CWE-89.
Summary
Fleet is an open-source device management platform built on osquery. In versions up to and including 4.84.1, the Apple MDM commands listing endpoint (GET /api/v1/fleet/mdm/apple/commands) allowed an authenticated user with the lowest-privilege Observer role to extract sensitive values from joined database tables, including host enrollment secrets and Apple Push Notification Service tokens, through a sort-order oracle. The endpoint accepted a user-supplied order_key parameter that was not validated against a column allowlist, and because the underlying query joins the hosts and nano_enrollments tables, an attacker could set the sort column to a sensitive field and combine it with the cursor-based after parameter to binary-search the value one character at a time, with the presence or absence of results revealing each character even though the value never appeared in the response. With extracted node_key or orbit_node_key values an attacker could impersonate enrolled hosts to Fleet's osquery and Orbit endpoints, submit fabricated host data, and retrieve pending scripts and commands. This issue is fixed in version 4.84.2.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| fleetdm | fleet | before 4.84.2 | 4.84.2 | Patch available | CNA |
| — | github.com/fleetdm/fleet/v4 (Go) | before 4.84.2 | 4.84.2 | Patch available | GHSA-x4qr-qw6h-wvxq |
- fleet Vendorfleetdm Affected before 4.84.2 Fixed in 4.84.2 Patch available CNA
- github.com/fleetdm/fleet/v4 (Go) Vendor— Affected before 4.84.2 Fixed in 4.84.2 Patch available GHSA-x4qr-qw6h-wvxq
Remediation
- Fix · CNA fleet (fleetdm) Fixed in 4.84.2
- Fix · GHSA-x4qr-qw6h-wvxq github.com/fleetdm/fleet/v4 (Go) Fixed in 4.84.2 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-46371
- 2026-10-03 Alias added: GHSA-x4qr-qw6h-wvxq
References
More fleetdm vulnerabilities
- TI-2026-29868 Fleet: Cross-Team Policy Data Exposure via Global Policy Read Endpoint CVSS 3.1MEDIUM 4.3
- TI-2025-20341 SAML authentication vulnerability due to improper SAML response validation CVSS 4.0CRITICAL 9.3
- TI-2026-65639 Fleet before 4.87.0 Authentication Bypass via Device Identifiers CVSS 4.0CRITICAL 9.3
- TI-2026-18942 Fleet has a JWT signature bypass vulnerability in Azure AD MDM enrollment CVSS 4.0CRITICAL 9.3
- TI-2020-16097 SAML authentication vulnerability in Fleet CVSS 3.1CRITICAL 10.0
- TI-2026-76130 Unbounded gzip decompression in Fleet enables denial of service CVSS 4.0HIGH 8.7
Sources
- CVE-2026-46371 · CVE Program
- CVE-2026-46371 · NVD
- FIRST EPSS
- GHSA-x4qr-qw6h-wvxq · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences