<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Stackhopper Research</title><link>https://research.stackhopper.co/</link><description>Recent content on Stackhopper Research</description><generator>Hugo</generator><language>en-US</language><copyright>Stackhopper Security LLC.</copyright><lastBuildDate>Sun, 29 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://research.stackhopper.co/index.xml" rel="self" type="application/rss+xml"/><item><title>Sandbox evasion via CoreEntitlements type confusion</title><link>https://research.stackhopper.co/posts/ce-type-confusion/</link><pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate><guid>https://research.stackhopper.co/posts/ce-type-confusion/</guid><description>&lt;h2 id="summary"&gt;Summary&lt;/h2&gt;&#10;&lt;p&gt;A type confusion between the ASN.1 &lt;code&gt;BOOLEAN&lt;/code&gt; and &lt;code&gt;INTEGER&lt;/code&gt; values in the DER entitlement processing functions &lt;code&gt;amfid&lt;/code&gt; uses allows macOS applications to claim boolean entitlements, such as &lt;code&gt;com.apple.security.app-sandbox&lt;/code&gt;, using the &lt;code&gt;&amp;lt;integer&amp;gt;1&amp;lt;/integer&amp;gt;&lt;/code&gt; expression instead of &lt;code&gt;&amp;lt;true/&amp;gt;&lt;/code&gt;.&#10;On macOS 26.3.1, the entitlement passes all validation stages (&lt;code&gt;codesign&lt;/code&gt;, both &lt;code&gt;amfid&lt;/code&gt;&amp;rsquo;s anomaly detection and &lt;code&gt;compareToCFRepr&lt;/code&gt; checks) and only then the kernel&amp;rsquo;s entitlement enforcement (&lt;code&gt;IOTaskHasEntitlement&lt;/code&gt;, &lt;code&gt;Sandbox.kext&lt;/code&gt;) rejects it due to a stricter DER tag check.&lt;/p&gt;</description></item><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><item><title>Denial of Service via macOS localization variables | CVE-2025-24199</title><link>https://research.stackhopper.co/posts/user-session-corruption-via-macos-localization-variables/</link><pubDate>Thu, 03 Apr 2025 00:00:00 +0000</pubDate><guid>https://research.stackhopper.co/posts/user-session-corruption-via-macos-localization-variables/</guid><description>&lt;h1 id="summary"&gt;Summary&lt;/h1&gt;&#10;&lt;p&gt;macOS Sequoia 15.3.2 and lower were vulnerable to a local Denial of Service bug via a type confusion leading to a null pointer dereference by abusing the format used to store variables. This happens by setting up the &lt;code&gt;AppleLanguages&lt;/code&gt; global variable, using a format for storing strings instead of the format for storing array elements; this causes the crash. The vulnerability can be triggered by opening any macOS application that either uses the &lt;code&gt;AppleLanguages&lt;/code&gt; global variable, e.g. &lt;code&gt;System Settings.app&lt;/code&gt;, &lt;code&gt;Dock.app&lt;/code&gt; or any AppKit-based macOS application.&lt;/p&gt;</description></item></channel></rss>