Fleet before 4.87.0 does not protect the two endpoints that serve in-house iOS application packages and manifests (enterprise tier only) with the intended random, time-limited URL token. Because Apple's InstallEnterpriseApplication MDM command requires these URLs to be reachable without a Fleet session, they cannot rely on session-based authentication, and the missing token allows an unauthenticated attacker with network access to the Fleet server to download in-house IPA binaries and their metadata (bundle identifier, version, and name) by guessing sequential title identifiers. The impact is limited to read-only disclosure; there is no privilege escalation or write access, and the free tier is unaffected (it returns fleet.ErrMissingLicense).
Fleet before 4.87.0 Unauthenticated iOS App Download via Predictable URLs
Problem type
Affected products
fleetdm
< 4.87.0 - AFFECTED
4.87.0 - UNAFFECTED
References
https://github.com/fleetdm/fleet/security/advisories/GHSA-q9c5-pp7m-fm2g
https://www.vulncheck.com/advisories/fleet-before-4.87.0-unauthenticated-ios-app-download-via-predictable-urls
GitHub Security Advisories
GHSA-jqp5-cmc9-xwxg
Fleet before 4.87.0 does not protect the two endpoints that serve in-house iOS application...
https://github.com/advisories/GHSA-jqp5-cmc9-xwxgFleet before 4.87.0 does not protect the two endpoints that serve in-house iOS application packages and manifests (enterprise tier only) with the intended random, time-limited URL token. Because Apple's InstallEnterpriseApplication MDM command requires these URLs to be reachable without a Fleet session, they cannot rely on session-based authentication, and the missing token allows an unauthenticated attacker with network access to the Fleet server to download in-house IPA binaries and their metadata (bundle identifier, version, and name) by guessing sequential title identifiers. The impact is limited to read-only disclosure; there is no privilege escalation or write access, and the free tier is unaffected (it returns fleet.ErrMissingLicense).
https://github.com/fleetdm/fleet/security/advisories/GHSA-q9c5-pp7m-fm2g
https://nvd.nist.gov/vuln/detail/CVE-2026-101047
https://www.vulncheck.com/advisories/fleet-before-4.87.0-unauthenticated-ios-app-download-via-predictable-urls
https://github.com/advisories/GHSA-jqp5-cmc9-xwxg
JSON source
https://cveawg.mitre.org/api/cve/CVE-2026-101047Click to expand
{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2026-101047",
"assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"assignerShortName": "VulnCheck",
"dateUpdated": "2026-09-27T17:02:35.852Z",
"dateReserved": "2026-09-27T15:48:49.472Z",
"datePublished": "2026-09-27T17:02:35.852Z",
"state": "PUBLISHED"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"shortName": "VulnCheck",
"dateUpdated": "2026-09-27T17:02:35.852Z"
},
"datePublic": "2026-08-11T00:00:00.000Z",
"title": "Fleet before 4.87.0 Unauthenticated iOS App Download via Predictable URLs",
"descriptions": [
{
"lang": "en",
"value": "Fleet before 4.87.0 does not protect the two endpoints that serve in-house iOS application packages and manifests (enterprise tier only) with the intended random, time-limited URL token. Because Apple's InstallEnterpriseApplication MDM command requires these URLs to be reachable without a Fleet session, they cannot rely on session-based authentication, and the missing token allows an unauthenticated attacker with network access to the Fleet server to download in-house IPA binaries and their metadata (bundle identifier, version, and name) by guessing sequential title identifiers. The impact is limited to read-only disclosure; there is no privilege escalation or write access, and the free tier is unaffected (it returns fleet.ErrMissingLicense)."
}
],
"affected": [
{
"vendor": "fleetdm",
"product": "fleet",
"defaultStatus": "unaffected",
"versions": [
{
"version": "0",
"status": "affected",
"versionType": "semver",
"lessThan": "4.87.0"
},
{
"version": "4.87.0",
"status": "unaffected",
"versionType": "semver"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"description": "Missing Authorization",
"cweId": "CWE-862",
"type": "CWE"
}
]
}
],
"references": [
{
"url": "https://github.com/fleetdm/fleet/security/advisories/GHSA-q9c5-pp7m-fm2g",
"name": "GitHub Security Advisory (GHSA-q9c5-pp7m-fm2g)",
"tags": [
"vendor-advisory"
]
},
{
"url": "https://www.vulncheck.com/advisories/fleet-before-4.87.0-unauthenticated-ios-app-download-via-predictable-urls",
"name": "VulnCheck Advisory: Fleet before 4.87.0 Unauthenticated iOS App Download via Predictable URLs",
"tags": [
"third-party-advisory"
]
}
],
"metrics": [
{
"format": "CVSS"
},
{
"format": "CVSS",
"cvssV3_1": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "LOW",
"integrityImpact": "NONE",
"availabilityImpact": "NONE",
"baseScore": 5.3,
"baseSeverity": "MEDIUM"
}
}
],
"credits": [
{
"lang": "en",
"value": "offset",
"type": "reporter"
}
]
}
}
}