[WK2][iOS] Adopt a whitelist for XPC services
authorbfulgham@apple.com <bfulgham@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 23 May 2017 15:57:07 +0000 (15:57 +0000)
committerbfulgham@apple.com <bfulgham@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 23 May 2017 15:57:07 +0000 (15:57 +0000)
https://bugs.webkit.org/show_bug.cgi?id=172182
<rdar://problem/30669445>

Reviewed by Sam Weinig.

Tell the Sandbox to block all XPC connections that are not explicitly allowed by
the sandbox profile. The default behavior is to allow everything by default.

If the restriction is set before including the standard iOS sandbox profiles, there
does not seem to be a need to white list any other services.

General web browsing on multiple devices indicate that these sandbox profiles work
properly with media, accessibility, webgl, and general web content.

* Resources/SandboxProfiles/ios/com.apple.WebKit.Databases.sb:
* Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217277 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit2/ChangeLog
Source/WebKit2/Resources/SandboxProfiles/ios/com.apple.WebKit.Databases.sb
Source/WebKit2/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb
Source/WebKit2/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb

index a608af4..d24c494 100644 (file)
@@ -1,3 +1,24 @@
+2017-05-22  Brent Fulgham  <bfulgham@apple.com>
+
+        [WK2][iOS] Adopt a whitelist for XPC services
+        https://bugs.webkit.org/show_bug.cgi?id=172182
+        <rdar://problem/30669445>
+
+        Reviewed by Sam Weinig.
+
+        Tell the Sandbox to block all XPC connections that are not explicitly allowed by
+        the sandbox profile. The default behavior is to allow everything by default.
+
+        If the restriction is set before including the standard iOS sandbox profiles, there
+        does not seem to be a need to white list any other services. 
+
+        General web browsing on multiple devices indicate that these sandbox profiles work
+        properly with media, accessibility, webgl, and general web content.
+
+        * Resources/SandboxProfiles/ios/com.apple.WebKit.Databases.sb:
+        * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
+        * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
+
 2017-05-23  Emilio Cobos Ãlvarez  <ecobos@igalia.com>
 
         Add a RuntimeEnabledFeature for display: contents, defaulted to false.
index 4b14cd1..dc78be5 100644 (file)
@@ -25,6 +25,8 @@
 (deny default (with partial-symbolication))
 (allow system-audit file-read-metadata)
 
+(deny mach-lookup (xpc-service-name-prefix ""))
+
 (import "common.sb")
 (import "removed-dev-nodes.sb")
 
index 3b95d22..67231a0 100644 (file)
@@ -25,6 +25,8 @@
 (deny default (with partial-symbolication))
 (allow system-audit file-read-metadata)
 
+(deny mach-lookup (xpc-service-name-prefix ""))
+
 (import "common.sb")
 (import "removed-dev-nodes.sb")
 
index fe6389d..edffb25 100644 (file)
@@ -25,6 +25,8 @@
 (deny default (with partial-symbolication))
 (allow system-audit file-read-metadata)
 
+(deny mach-lookup (xpc-service-name-prefix ""))
+
 (import "UIKit-apps.sb")
 (import "removed-dev-nodes.sb")