macOS sandbox leaks distributed notifications
A macOS sandbox bypass lets sandboxed apps register for distributed notifications by name, secretly monitoring downloads, kexts, app installs and more.
Sourceobjective-see.org — open the original
What to check
- Applies to
- Whether this concerns you is not assessed; the names the report mentions are listed below.
- Date
- The source gives no publication date; the date shown is the day Vorant added the brief.
Objective-See researcher Patrick Wardle details a privacy flaw in macOS's sandbox implementation affecting distributed notifications, a mechanism apps use to broadcast system and user events across process boundaries. While Apple blocks sandboxed applications from globally registering to receive all distributed notifications (passing 'nil' as the name), it fails to prevent sandboxed apps from registering for individual notifications by their specific name. This trivially circumvents the intended protection, as an attacker can enumerate notification names (using tools like MonitorKit) and then register for each one individually from within the sandbox.
The impact is that a sandboxed, otherwise constrained application can surreptitiously monitor sensitive user and system activity, including file downloads (even in incognito browser mode), newly installed applications, loaded kernel extensions, opened source files, Bluetooth device connections, USB volume mounts, and applications currently in use. This was demonstrated to work on a fully patched macOS Mojave system and likely affects other macOS versions. The researcher does not consider this a formal security vulnerability but notes it clearly violates the sandbox's design goals of isolating applications from private user and OS activity, and expects Apple will eventually address it.
Detection guidance
1 detection for this report is in the app — an indicator rule with Sigma, Splunk SPL, Elastic, Microsoft Defender XDR KQL, and YARA. Free account, no card.
Source reporting: https://objective-see.org/blog/blog_0x39.html
Free public brief. The indicators and the detections with Splunk SPL already written (plus Elastic and KQL where they apply) are in the app with a free account, no card. Slack alerts on the vendors you run come with the paid plans, and a new account gets three days of them.
What this brief leaves out
This page is the free tier: the write-up, the severity, the names. In the app the same report carries its extracted indicators and its detections (Splunk SPL already written, plus Elastic and Microsoft KQL where they apply). The paid plans add the security research and news reporting the free tier leaves out.
It sits in a corpus of 16,433 reports from 149 sources, 661 of them written in the last seven days, and it grows through the day.
A new account starts with three days of all of it, no card, then keeps the government and CERT reporting free. Slack alerts are a paid-plan feature: name the vendors you run and Slack hears about the reports that touch them, not the rest of the week's. Nothing is charged unless you subscribe.
Create a free account What it costs