Restrict network process sandbox
[WebKit-https.git] / Source / WebKit2 / Resources / SandboxProfiles / ios / com.apple.WebKit.Networking.sb
1 ; Copyright (C) 2014 Apple Inc. All rights reserved.
2 ;
3 ; Redistribution and use in source and binary forms, with or without
4 ; modification, are permitted provided that the following conditions
5 ; are met:
6 ; 1. Redistributions of source code must retain the above copyright
7 ; notice, this list of conditions and the following disclaimer.
8 ; 2. Redistributions in binary form must reproduce the above copyright
9 ; notice, this list of conditions and the following disclaimer in the
10 ; documentation and/or other materials provided with the distribution.
11 ;
12 ; THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
13 ; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
14 ; THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
15 ; PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
16 ; BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
17 ; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
18 ; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
19 ; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
20 ; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
21 ; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
22 ; THE POSSIBILITY OF SUCH DAMAGE.
23
24 (version 1)
25 (deny default (with partial-symbolication))
26 (allow system-audit file-read-metadata)
27
28 (import "common.sb")
29 (import "removed-dev-nodes.sb")
30
31 ;; Access CFNetwork shared cookies
32 ;; This is too generous -- <rdar://problem/17496756>
33 (apple-cookie-access 'with-read-write)
34
35 ;; Sandbox extensions
36 (allow file-read* (container-subpath "Library/")
37        (extension "com.apple.webkit.read"))
38
39 ;; Access to client's cache folder & re-vending to CFNetwork.
40 (allow file-read* file-write* (require-all (container-subpath "Library/")
41        (extension "com.apple.nsurlstorage.extension-cache")))
42 (allow file-issue-extension  (require-all ((container-subpath "Library/")
43        (extension-class "com.apple.nsurlstorage.extension-cache")))
44
45 ;; App sandbox extensions
46 (allow file-read* file-write* (require-all (container-subpath "Library/")
47        (extension "com.apple.app-sandbox.read-write")))
48
49 ;; Access to own cache & temp folders.
50 (allow file-read* file-write* (require-all (container-subpath "")
51        (extension "com.apple.webkit.read-write")))
52
53 ;; IOKit user clients
54 (allow iokit-open
55        (iokit-user-client-class "RootDomainUserClient"))
56
57 ;; Various services required by CFNetwork and other frameworks
58 (allow mach-lookup
59        (global-name "com.apple.PowerManagement.control"))
60
61 (network-client)
62
63 ;; Security framework
64 (allow mach-lookup
65        (global-name "com.apple.ocspd")
66        (global-name "com.apple.securityd"))
67
68 (deny file-write-create
69        (vnode-type SYMLINK))