<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Lockup — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/lockup/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 03 Jan 2024 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/lockup/feed.xml" rel="self" type="application/rss+xml"/><item><title>macOS Mojave System Lockup via vmmap Utility Targeting PID 1</title><link>https://feed.craftedsignal.io/briefs/2024-01-vmmap-mojave-lockup/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-vmmap-mojave-lockup/</guid><description>A bug in macOS Mojave causes a system lockup when the vmmap utility is executed against process ID 1 (launchd), due to a deadlock triggered by XPC calls during symbolication.</description><content:encoded><![CDATA[<p>A critical bug exists in macOS Mojave (10.14) where executing the <code>vmmap</code> utility against process ID 1, which is always <code>launchd</code>, causes a complete system lockup. This issue was discovered when users reported that the TaskExplorer utility, which uses <code>vmmap</code> to enumerate loaded dynamic libraries in remote processes, would freeze the system when run. The root cause is that <code>vmmap</code> suspends the target process before enumerating memory regions. When <code>launchd</code> (PID 1) is targeted, this suspension prevents <code>vmmap</code> from completing its symbolication process, which relies on XPC communication facilitated by <code>launchd</code>. The blocked XPC call results in a deadlock, requiring a hard reboot of the affected macOS Mojave system.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker (or a system utility like TaskExplorer) attempts to enumerate loaded libraries of a process.</li>
<li>TaskExplorer executes the <code>vmmap</code> command, targeting a specific process ID (PID).</li>
<li>The <code>vmmap</code> utility starts and is given PID 1 as a command-line argument.</li>
<li><code>vmmap</code> invokes <code>task_suspend</code> to suspend the target process (launchd) before taking a memory snapshot.</li>
<li><code>vmmap</code> attempts to symbolicate the memory regions of the suspended process via the CoreSymbolication framework, calling <code>CoreSymbolication'mmap_storage_daemon</code>.</li>
<li>The CoreSymbolication framework makes XPC calls, including <code>xpc_connection_resume</code>, which are routed to launchd.</li>
<li>Because launchd is suspended, the XPC requests are never serviced, specifically a call to <code>libxpc</code>’s <code>_xpc_look_up_endpoint</code> for <code>com.apple.coresymbolicationd</code>.</li>
<li>This blocked XPC call deadlocks the system, as <code>vmmap</code> waits for a response from <code>launchd</code>, but <code>launchd</code> cannot respond because it is suspended by <code>vmmap</code>. The entire system becomes unresponsive, requiring a hard reboot.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this bug results in a complete system lockup on macOS Mojave. The user loses any unsaved data and must perform a hard reboot to restore functionality. While the bug does not directly lead to data theft or code execution, it causes significant disruption and data loss. This affects any user running macOS Mojave who attempts to run <code>vmmap</code> against PID 1, either directly or indirectly through a utility like TaskExplorer.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule <code>Detect vmmap Execution Against PID 1</code> to detect direct attempts to exploit this bug via command-line execution.</li>
<li>Investigate any system lockups on macOS Mojave systems and correlate them with <code>vmmap</code> executions, using the <code>macOS Mojave System Lockup via vmmap</code> rule as a starting point.</li>
<li>Consider blocking execution of <code>vmmap</code> with PID 1 as an argument via endpoint detection and response (EDR) tools, preventing the vulnerability from being triggered.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>macos</category><category>lockup</category><category>vmmap</category><category>pid1</category></item></channel></rss>