<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ios on Stackhopper Research</title><link>https://research.stackhopper.co/tags/ios/</link><description>Recent content in Ios on Stackhopper Research</description><generator>Hugo</generator><language>en-US</language><copyright>Stackhopper Security LLC.</copyright><lastBuildDate>Wed, 25 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://research.stackhopper.co/tags/ios/index.xml" rel="self" type="application/rss+xml"/><item><title>Sandbox escape via GameKit and cfprefsd | CVE-2026-64740</title><link>https://research.stackhopper.co/posts/sandbox-escape-via-gamekit-and-cfprefsd/</link><pubDate>Wed, 25 Mar 2026 00:00:00 +0000</pubDate><guid>https://research.stackhopper.co/posts/sandbox-escape-via-gamekit-and-cfprefsd/</guid><description>&lt;h2 id="summary"&gt;Summary&lt;/h2&gt;&#10;&lt;p&gt;A sandboxed iOS application with only the &lt;code&gt;com.apple.developer.game-center&lt;/code&gt; entitlement can escape the app sandbox to write files with controlled content and filenames to any location writable by the &lt;code&gt;mobile&lt;/code&gt; user. Tested on iOS 26.4.&lt;/p&gt;&#10;&lt;h2 id="explanation"&gt;Explanation&lt;/h2&gt;&#10;&lt;p&gt;The &lt;code&gt;cacheImageData:inSubdirectory:withFileName:handler:&lt;/code&gt; method on &lt;code&gt;gamed&lt;/code&gt;&amp;rsquo;s &lt;code&gt;GKDaemonProxy&lt;/code&gt; (via the &lt;code&gt;GKUtilityService&lt;/code&gt; XPC endpoint) writes data to &lt;code&gt;/var/mobile/Library/Caches/GameKit/Images/&amp;lt;subdirectory&amp;gt;/&amp;lt;fileName&amp;gt;&lt;/code&gt;. Neither the &lt;code&gt;subdirectory&lt;/code&gt; or the &lt;code&gt;fileName&lt;/code&gt; parameters are validated for path traversal payloads.&lt;/p&gt;&#10;&lt;p&gt;By sending a raw XPC message directly to &lt;code&gt;gamed&lt;/code&gt; via &lt;code&gt;GKDaemonProxy&lt;/code&gt;, a third-party sandboxed iOS app causes &lt;code&gt;gamed&lt;/code&gt; (which runs as &lt;code&gt;mobile&lt;/code&gt; outside the app sandbox) to write attacker-controlled data with a desired filename to a path outside the sandbox&amp;rsquo;s reach. No GameKit authentication is required.&lt;/p&gt;</description></item></channel></rss>