What happened
iOS 27 beta 5 was a Red Wedding for the sandbox escape and MobileGestalt routes I had been testing. The main MobileContainerManager entry points were all blocked in build 24A5408d. My guess is that Mythos helped Apple find the cluster.
The fixes landed before I published the work, so here are the clean PoCs, the request shapes, and the exact paths each bug reached.
The bugs
MobileHouseArrest identity trust
patchedMobileContainerManager trusted the caller’s CodeDirectory identifier as an authorization key. A development-signed app using com.apple.mobile.MobileHouseArrest could request foreign class-2 app containers and class-7 app groups.
This included the Notes app group and its NoteStore.sqlite database, making it direct access to sensitive user note data. The repository also covers the separate class-13 route to the fixed MobileGestalt cache directory.
geod class-12 traversal
patched
Class 12 treated com.apple.geod as a built-in allowed container. An unchecked partDomain then redirected its read/write sandbox extension into the MobileGestalt system group.
The result was read/write access to the fixed MobileGestalt cache directory and its live plist, not arbitrary filesystem access.
View geod / MCM PoC on GitHubInstallCoordination persisted state
entry patchedA class-13 authorization gap and partDomain traversal exposed the state used by installcoordinationd. An app could place a promise graph into those directories. The daemon restored the graph and followed the final localization symlink while materializing InfoPlist.strings.
Beta 5 blocks the known normal-app entry. The persisted-graph trust and final-symlink behavior remain in the daemon, but this route can no longer reach their state files.
View InstallCoordination PoC on GitHubcfprefsd missing-file creation
still present
A raw-container path race and a final-symlink mismatch make the system preferences daemon create one selected missing file. The retained file is empty. The primitive cannot replace or truncate an existing file, and it does not control the new file’s contents.
selected missing pathname → new 0644, zero-byte fileThe relevant logic is still present in the iOS 27 beta 5 CoreFoundation image. Runtime confirmation on that exact build is still pending.
View cfprefsd PoC on GitHubVersion status
The MobileHouseArrest, class-13, geod, and known InstallCoordination entry routes are patched in iOS 27 beta 5. The cfprefsd logic still appears present. I have not verified iOS 26.6.1.
Each repository contains a short writeup and minimal Objective-C source for the relevant request or chain.