Fleet's Apple MDM enrollment endpoints parse a device information payload supplied by the client before the device is authenticated. The binary property list parser used for this payload resolved object references recursively with no depth or cycle limit. A small crafted payload (around 150 bytes) could force the parser into exponential allocation or infinite recursion, exhausting CPU and memory and crashing the Fleet server.
An unauthenticated attacker with network access to a Fleet server that has Apple MDM enabled could crash the server, causing a denial of service for the whole instance.
This vulnerability impacts availability only . There is:
No exposure of sensitive data
No authentication bypass
No privilege escalation
This issue only affects Fleet instances with Apple MDM enabled.
Fleet v4.89.0 bounds the depth and size of property lists parsed from Apple MDM enrollment and check-in requests. Fleet v4.92.0 moves this protection into the upstream github.com/micromdm/plist parser (v0.3.0).
If upgrading immediately is not possible, restrict network access to the Apple MDM enrollment endpoints ( /api/mdm/apple/enroll and /api/mdm/apple/account_driven_enroll ) to trusted networks. Request size limits do not mitigate this issue because the malicious payload is small.
We thank @fuzzztf for responsibly reporting this issue.
If you have any questions or this advisory:
Email us at [email protected]
Join #fleet in osquery Slack
The full story
This article is one source in a clustered incident — the cluster page carries the summary, timeline and every other outlet covering it.
