renderer.sb 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. ; Copyright 2017 The Chromium Authors. All rights reserved.
  2. ; Use of this source code is governed by a BSD-style license that can be
  3. ; found in the LICENSE file.
  4. ; --- The contents of common.sb implicitly included here. ---
  5. ; Put the denials first.
  6. ; crbug.com/799149: These operations are allowed by default.
  7. (if (>= os-version 1013)
  8. (if (param-true? disable-sandbox-denial-logging)
  9. (deny iokit-get-properties process-info* nvram* (with no-log))
  10. (deny iokit-get-properties process-info* nvram*)
  11. ))
  12. ; Allow cf prefs to work.
  13. (allow user-preference-read)
  14. ; process-info
  15. (if (>= os-version 1013)
  16. (begin
  17. (allow process-info-pidinfo)
  18. (allow process-info-setcontrol (target self))
  19. ))
  20. ; File reads.
  21. ; Reads from the home directory.
  22. (allow file-read-data
  23. (path (user-homedir-path "/.CFUserTextEncoding"))
  24. (path (user-homedir-path "/Library/Preferences/com.apple.universalaccess.plist"))
  25. )
  26. ; Reads of /dev devices.
  27. (allow file-read-data
  28. (path "/dev/autofs_nowait")
  29. (path "/dev/fd")
  30. )
  31. (allow-cvms-blobs)
  32. (allow file-write-data
  33. (require-all
  34. (path "/dev/null")
  35. (vnode-type CHARACTER-DEVICE)))
  36. ; Needed for Fonts.
  37. (allow-font-access)
  38. ; Reads from /System.
  39. (allow file-read-data
  40. (path "/System/Library/CoreServices/CoreTypes.bundle/Contents/Library/AppExceptions.bundle/Exceptions.plist")
  41. (path "/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/Exceptions.plist")
  42. (path "/System/Library/Preferences/Logging/Subsystems/com.apple.SkyLight.plist")
  43. (subpath "/System/Library/ColorSync/Profiles")
  44. (subpath "/System/Library/CoreServices/SystemAppearance.bundle")
  45. (subpath "/System/Library/CoreServices/SystemVersion.bundle")
  46. (subpath "/System/Library/Extensions") ; https://crbug.com/847518
  47. (subpath "/System/Library/LinguisticData")
  48. )
  49. ; Reads from /Library.
  50. (allow file-read-data
  51. (subpath "/Library/GPUBundles") ; https://crbug.com/850021
  52. )
  53. ; IOKit
  54. (allow iokit-open
  55. (iokit-registry-entry-class "IOSurfaceRootUserClient")
  56. (iokit-registry-entry-class "RootDomainUserClient")
  57. (iokit-user-client-class "IOSurfaceSendRight")
  58. )
  59. ; POSIX IPC
  60. (allow ipc-posix-shm-read-data
  61. (ipc-posix-name "apple.cfprefs.317580v1")
  62. (ipc-posix-name "apple.cfprefs.daemonv1")
  63. (ipc-posix-name "apple.shm.notification_center") ; https://crbug.com/792217
  64. )
  65. ; mach IPC
  66. (allow mach-lookup
  67. (global-name "com.apple.cvmsServ") ; https://crbug.com/850021
  68. (global-name "com.apple.distributed_notifications@Uv3") ; https://crbug.com/792257
  69. (global-name "com.apple.lsd.mapdb")
  70. (global-name "com.apple.system.notification_center") ; https://crbug.com/792217
  71. )
  72. ; IOKit properties.
  73. (if (>= os-version 1013)
  74. (allow iokit-get-properties
  75. (iokit-property "CaseSensitive")
  76. (iokit-property "CoreStorage Encrypted")
  77. (iokit-property "Ejectable")
  78. (iokit-property "Encrypted")
  79. (iokit-property "IOClassNameOverride")
  80. (iokit-property "IOMediaIcon")
  81. (iokit-property "Product Identification")
  82. (iokit-property "Protocol Characteristics")
  83. (iokit-property "Removable")
  84. (iokit-property "image-encrypted")
  85. ))
  86. ; For V8 to use in thread calculations.
  87. (if (>= os-version 1014)
  88. (begin
  89. (allow sysctl-read (sysctl-name "kern.tcsm_enable"))
  90. (allow sysctl-write (sysctl-name "kern.tcsm_enable"))
  91. (allow sysctl-read (sysctl-name "kern.tcsm_available"))
  92. ))
  93. ; This is available in 10.15+, and rolled out as a Finch experiment.
  94. (if (param-true? filter-syscalls)
  95. (when (defined? 'syscall-unix)
  96. (deny syscall-unix (with send-signal SIGSYS))
  97. (allow syscall-unix
  98. (syscall-number SYS_change_fdguard_np)
  99. (syscall-number SYS_chdir)
  100. (syscall-number SYS_chmod)
  101. (syscall-number SYS_csops)
  102. (syscall-number SYS_csrctl)
  103. (syscall-number SYS_dup)
  104. (syscall-number SYS_dup2)
  105. (syscall-number SYS_fchmod)
  106. (syscall-number SYS_fcntl_nocancel)
  107. (syscall-number SYS_fgetxattr)
  108. (syscall-number SYS_fileport_makefd)
  109. (syscall-number SYS_fileport_makeport)
  110. (syscall-number SYS_flock)
  111. (syscall-number SYS_fsetattrlist)
  112. (syscall-number SYS_fsgetpath)
  113. (syscall-number SYS_fsync)
  114. (syscall-number SYS_ftruncate)
  115. (syscall-number SYS_getegid)
  116. (syscall-number SYS_getentropy)
  117. (syscall-number SYS_getfsstat64)
  118. (syscall-number SYS_getrusage)
  119. (syscall-number SYS_getsockopt)
  120. (syscall-number SYS_gettid)
  121. (syscall-number SYS_getxattr)
  122. (syscall-number SYS_guarded_close_np)
  123. (syscall-number SYS_guarded_open_np)
  124. (syscall-number SYS_guarded_pwrite_np)
  125. (syscall-number SYS_kdebug_trace)
  126. (syscall-number SYS_kdebug_typefilter)
  127. (syscall-number SYS_listxattr)
  128. (syscall-number SYS_lseek)
  129. (syscall-number SYS_memorystatus_control)
  130. (syscall-number SYS_mkdir)
  131. (syscall-number SYS_mkdirat)
  132. (syscall-number SYS_mlock)
  133. (syscall-number SYS_msync)
  134. (syscall-number SYS_munlock)
  135. (syscall-number SYS_necp_client_action)
  136. (syscall-number SYS_necp_open)
  137. (syscall-number SYS_openat)
  138. (syscall-number SYS_openat_nocancel)
  139. (syscall-number SYS_pathconf)
  140. (syscall-number SYS_pipe)
  141. (syscall-number SYS_pread_nocancel)
  142. (syscall-number SYS_proc_rlimit_control)
  143. (syscall-number SYS_process_policy)
  144. (syscall-number SYS_psynch_cvbroad)
  145. (syscall-number SYS_psynch_cvclrprepost)
  146. (syscall-number SYS_psynch_cvsignal)
  147. (syscall-number SYS_psynch_cvwait)
  148. (syscall-number SYS_psynch_rw_unlock)
  149. (syscall-number SYS_psynch_rw_wrlock)
  150. (syscall-number SYS_pwrite)
  151. (syscall-number SYS_quotactl)
  152. (syscall-number SYS_recvfrom_nocancel)
  153. (syscall-number SYS_rename)
  154. (syscall-number SYS_rmdir)
  155. (syscall-number SYS_select)
  156. (syscall-number SYS_select_nocancel)
  157. (syscall-number SYS_sem_close)
  158. (syscall-number SYS_sem_open)
  159. (syscall-number SYS_sem_post)
  160. (syscall-number SYS_sem_wait)
  161. (syscall-number SYS_sendmsg_nocancel)
  162. (syscall-number SYS_sendto)
  163. (syscall-number SYS_sendto_nocancel)
  164. (syscall-number SYS_setpriority)
  165. (syscall-number SYS_setrlimit)
  166. (syscall-number SYS_setsockopt)
  167. (syscall-number SYS_shared_region_check_np)
  168. (syscall-number SYS_shutdown)
  169. (syscall-number SYS_sigaltstack)
  170. (syscall-number SYS_umask)
  171. (syscall-number SYS_unlink)
  172. (syscall-number SYS_work_interval_ctl)
  173. (syscall-number SYS_write)
  174. (syscall-number SYS_write_nocancel)
  175. (syscall-number SYS_writev)
  176. )))