The restrictions imposed by Mac OS X generic application sandbox profiles can be easily bypassed, researchers from Core Security Technologies found.
Apple does not believe this poses a security problem, but is considering a documentation change to better communicate limitations of the sandbox profiles, the security experts said.
Mac OS X App Sandbox allows developers to restrict what their applications can do and access on a system. This is an important proactive security mechanism, because if an attacker manages to take control over a “sandboxed” application, through a vulnerability or otherwise, their actions would be restricted by that app’s permissions.
To help developers implement this security feature more easily in their apps, Apple has provided a few default sandbox profiles. One of them is called “kSBXProfileNoNetwork” and as the name implies, it restricts an application’s access to the local network. Another one, called “kSBXProfileNoInternet,” can be used to restrict access to the Internet.
Security researchers from Core Security Technologies discovered that these default profiles allow Apple-script events to be sent to other applications. They created a proof-of-concept exploit that leverages this to call “osascript,” a scripting language interpreter built into Mac OS X, in order to spawn a separate, non-sandboxed, process.
In practical terms, if an attacker gains access over an application running under the kSBXProfileNoInternet sandbox profile, he could use osascript to launch a separate process that does have access to the Internet, therefore bypassing the restriction.
“An additional risk with these profiles is that they are supposed to provide an example of how a process should be restricted in different scenarios. If the no-network profile allows Apple-script events, this may result in new applications using the same restriction rules, therefore offering a false sense of security,” the Core Security researchers said in
The company claims to have notified Apple’s product security team on Sept. 20 and was told that this is not a security issue because the sandbox documentation doesn’t state that Apple events will be prohibited when using this profile.
According to Core Security, Apple is considering modifying the documentation in order to make it clearer that restrictions enforced by a sandbox profile only apply to the processes that use it. Apple did not return a request for comment on its plans regarding this issue.
However, back in 2008, security researcher Charlie Miller demonstrated a very similar attack and the company responded at the time by restricting the use of Apple events for the affected sandbox profiles.
There is a
simple workaround for Core Security’s proof-of-concept exploit, said Paul Ducklin, the head of technology for the Asia Pacific region at antivirus firm Sophos. It involves denying access to
/usr/bin/osascript when defining the sandbox for an application.
However, Core Security said that “osascript” was used in this case just to keep it simple, which suggests that other methods of bypassing the restriction are also available, as long as Apple-script events are allowed.