Changeset 251511 in webkit
- Timestamp:
- Oct 23, 2019, 5:02:25 PM (6 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r251501 r251511 1 2019-10-23 Brent Fulgham <bfulgham@apple.com> 2 3 [iOS] Stop including 'common.sb' 4 https://bugs.webkit.org/show_bug.cgi?id=203318 5 6 Reviewed by Per Arne Vollan. 7 8 Replace the 'import' of common.sb with the equivalent statements. This is the 9 first step in a task to remove uneeded sandbox rules. 10 11 * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: 12 1 13 2019-10-23 Kate Cheney <katherine_cheney@apple.com> 2 14 -
trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb
r251219 r251511 26 26 (allow system-audit file-read-metadata) 27 27 28 (import "common.sb") 28 ;;; 29 ;;; The following rules were originally contained in 'common.sb'. We are duplicating them here so we can 30 ;;; remove unneeded sandbox extensions. 31 ;;; 32 33 (import "util.sb") 34 (import "carrier-bundle-allowed.sb") 35 36 (define-once (allow-read-and-issue-generic-extensions . filters) 37 (allow file-read* 38 (apply require-any filters)) 39 (allow file-issue-extension 40 (require-all 41 (extension-class "com.apple.app-sandbox.read") 42 (apply require-any filters)))) 43 44 (define-once (allow-read-write-and-issue-generic-extensions . filters) 45 (allow file-read* file-write* 46 (apply require-any filters)) 47 (allow file-read-metadata 48 (apply require-any filters)) 49 (allow file-issue-extension 50 (require-all 51 (extension-class "com.apple.app-sandbox.read-write" "com.apple.app-sandbox.read") 52 (apply require-any filters)))) 53 54 (define-once (managed-configuration-read-public) 55 (allow file-read* 56 (well-known-system-group-container-subpath "/systemgroup.com.apple.configurationprofiles/Library/ConfigurationProfiles/PublicInfo") 57 (front-user-home-subpath "/Library/ConfigurationProfiles/PublicInfo") 58 (front-user-home-subpath "/Library/UserConfigurationProfiles/PublicInfo"))) 59 60 (define-once (managed-configuration-read . files) 61 (if (null? files) 62 (allow file-read* 63 (well-known-system-group-container-subpath "/systemgroup.com.apple.configurationprofiles/Library/ConfigurationProfiles") 64 (front-user-home-subpath "/Library/ConfigurationProfiles") 65 (front-user-home-subpath "/Library/UserConfigurationProfiles")) 66 (for-each 67 (lambda (file) 68 (allow file-read* 69 (well-known-system-group-container-literal 70 (string-append "/systemgroup.com.apple.configurationprofiles/Library/ConfigurationProfiles/" file)) 71 (front-user-home-literal 72 (string-append "/Library/ConfigurationProfiles/" file) 73 (string-append "/Library/UserConfigurationProfiles/" file)))) 74 files))) 75 76 (define-once (allow-preferences-common) 77 (allow file-read-metadata 78 (home-literal "") 79 (home-literal "/Library/Preferences"))) 80 81 (define-once (mobile-preferences-read . domains) 82 (allow-preferences-common) 83 (allow user-preference-read (apply preference-domain domains))) 84 85 (define-once (mobile-preferences-read-write . domains) 86 (allow-preferences-common) 87 (allow user-preference-read user-preference-write (apply preference-domain domains))) 88 89 (define-once (framebuffer-access) 90 (allow iokit-open 91 (iokit-user-client-class "IOMobileFramebufferUserClient")) 92 (mobile-preferences-read "com.apple.iokit.IOMobileGraphicsFamily")) 93 94 (define-once (asset-access . options) 95 (let ((asset-access-filter 96 (require-all 97 (require-any 98 (home-subpath "/Library/Assets") 99 (subpath "/private/var/MobileAsset")) 100 (extension "com.apple.assets.read")))) 101 ;; <rdar://problem/10710883> 102 ;; <rdar://problem/11569106> 103 (allow file-read* asset-access-filter) 104 (if (memq 'with-media-playback options) 105 (play-media asset-access-filter)) 106 (allow mach-lookup 107 (global-name "com.apple.mobileassetd" "com.apple.mobileassetd.v2")) 108 (mobile-preferences-read "com.apple.MobileAsset"))) 109 110 (define-once (mobile-keybag-access) 111 (allow iokit-open 112 (iokit-user-client-class "AppleKeyStoreUserClient"))) 113 114 (define-once (location-services) 115 (allow mach-lookup 116 (global-name "com.apple.locationd.registration")) 117 (allow-carrier-bundle) ;; <rdar://problem/21192365> 118 (mobile-preferences-read 119 "com.apple.AppSupport" 120 "com.apple.GEO" 121 "com.apple.locationd")) 122 123 (define-once (play-audio) 124 (allow mach-lookup 125 (global-name "com.apple.audio.AURemoteIOServer") 126 (xpc-service-name "com.apple.audio.toolbox.reporting.service"))) 127 128 (define-once (play-media . filters) 129 (if (not (null? filters)) 130 ;; <rdar://problem/9875794> 131 (allow file-issue-extension 132 (require-all 133 (apply require-any filters) 134 (extension-class "com.apple.mediaserverd.read")))) 135 (allow file-issue-extension 136 (require-all 137 (extension-class "com.apple.mediaserverd.read") 138 (extension "com.apple.security.exception.files.absolute-path.read-only" 139 "com.apple.security.exception.files.absolute-path.read-write" 140 "com.apple.security.exception.files.home-relative-path.read-only" 141 "com.apple.security.exception.files.home-relative-path.read-write"))) 142 (allow file-issue-extension 143 (require-all 144 (extension-class "com.apple.mediaserverd.read-write") 145 (extension "com.apple.security.exception.files.absolute-path.read-write" 146 "com.apple.security.exception.files.home-relative-path.read-write"))) 147 ;; CoreMedia framework. 148 (allow mach-lookup 149 (global-name "com.apple.mediaserverd") 150 (global-name "com.apple.coremedia.admin") 151 (global-name "com.apple.coremedia.asset.xpc") 152 (global-name "com.apple.coremedia.assetcacheinspector") 153 (global-name "com.apple.coremedia.assetimagegenerator.xpc") 154 (global-name "com.apple.coremedia.audiodeviceclock.xpc") 155 (global-name "com.apple.coremedia.audioprocessingtap.xpc") 156 (global-name "com.apple.coremedia.capturesession") ; Actually for video capture 157 (global-name "com.apple.coremedia.capturesource") ; Also for video capture (<rdar://problem/15794291>). 158 (global-name "com.apple.coremedia.cpeprotector.xpc") 159 (global-name "com.apple.coremedia.customurlloader.xpc") 160 (global-name "com.apple.coremedia.endpoint.xpc") 161 (global-name "com.apple.coremedia.endpointremotecontrolsession.xpc") 162 (global-name "com.apple.coremedia.figcpecryptor") 163 (global-name "com.apple.coremedia.figcontentkeysession.xpc") 164 (global-name "com.apple.coremedia.formatreader.xpc") 165 (global-name "com.apple.coremedia.player.xpc") 166 (global-name "com.apple.coremedia.remaker") 167 (global-name "com.apple.coremedia.remotequeue") 168 (global-name "com.apple.coremedia.routediscoverer.xpc") 169 (global-name "com.apple.coremedia.routingcontext.xpc") 170 (global-name "com.apple.coremedia.routingsessionmanager.xpc") 171 (global-name "com.apple.coremedia.samplebufferaudiorenderer.xpc") 172 (global-name "com.apple.coremedia.samplebufferrendersynchronizer.xpc") 173 (global-name "com.apple.coremedia.sandboxserver") 174 (global-name "com.apple.coremedia.sandboxserver.xpc") 175 (global-name "com.apple.coremedia.systemcontroller.xpc") 176 (global-name "com.apple.coremedia.sts") 177 ;; <rdar://problem/13239958> 178 (global-name "com.apple.coremedia.videocompositor") 179 (global-name "com.apple.coremedia.visualcontext.xpc") 180 (global-name "com.apple.coremedia.volumecontroller.xpc") 181 (global-name "com.apple.pegasus")) 182 (mobile-preferences-read 183 "com.apple.avfoundation" 184 "com.apple.coreaudio" 185 "com.apple.coremedia" 186 "com.apple.corevideo") 187 ;; Required by the MediaPlayer framework. 188 (allow mach-lookup 189 (global-name "com.apple.airplay.apsynccontroller.xpc") 190 (global-name "com.apple.audio.AudioSession") 191 (global-name "com.apple.springboard.backgroundappservices")) 192 (mobile-preferences-read "com.apple.mobileipod") 193 ;; Needed by the MediaPlayer framework: 194 (allow mach-lookup 195 (global-name "com.apple.itunescloudd.xpc") 196 (global-name "com.apple.itunesstored.xpc")) 197 (mobile-preferences-read "com.apple.itunesstored")) 198 199 (define-once (media-remote) 200 (mobile-preferences-read 201 "com.apple.mediaremote" 202 "com.apple.mobileipod") 203 (allow mach-lookup 204 (global-name "com.apple.mediaremoted.xpc") 205 (xpc-service-name "com.apple.MediaPlayer.RemotePlayerService"))) 206 207 (define-once (url-translation) 208 ;; For translating http:// & https:// URLs referencing itms:// URLs. 209 ;; <rdar://problem/11587338> 210 (allow file-read* 211 (home-literal "/Library/Caches/com.apple.itunesstored/url-resolution.plist"))) 212 213 ;;; 214 ;;; Declare that the application uses the OpenGL, Metal, and CoreML hardware & frameworks. 215 ;;; 216 (define-once (opengl) 217 (allow iokit-open 218 (iokit-connection "IOGPU") 219 (iokit-user-client-class 220 "AGXCommandQueue" 221 "AGXDevice" 222 "AGXDeviceUserClient" 223 "AGXSharedUserClient" 224 "IOAccelContext" 225 "IOAccelDevice" 226 "IOAccelSharedUserClient" 227 "IOAccelSubmitter2" 228 "IOAccelContext2" 229 "IOAccelDevice2" 230 "IOAccelSharedUserClient2")) 231 (allow sysctl-read 232 (sysctl-name #"kern.bootsessionuuid")) 233 (allow mach-lookup 234 (global-name "com.apple.cvmsServ") 235 (global-name "com.apple.gpumemd.source")) 236 (allow mach-lookup 237 (xpc-service-name-prefix "com.apple.AGXCompilerService")) 238 239 ;; <rdar://problem/25535471> 240 (mobile-preferences-read "com.apple.Metal") 241 242 ;; <rdar://problem/23321675> 243 (mobile-preferences-read "com.apple.opengl")) 244 245 (define-once (debugging-support) 246 (allow file-read* file-map-executable 247 (subpath "/Developer")) 248 249 (allow ipc-posix-shm 250 (ipc-posix-name-regex #"^stack-logs") 251 (ipc-posix-name-regex #"^OA-") 252 (ipc-posix-name-regex #"^/FSM-")) 253 254 (allow ipc-posix-shm-read* ipc-posix-shm-write-data ipc-posix-shm-write-unlink 255 (ipc-posix-name-regex #"^gdt-[A-Za-z0-9]+-(c|s)$")) 256 257 (with-filter (system-attribute apple-internal) 258 ;; <rdar://problem/8565035> 259 ;; <rdar://problem/23857452> 260 (allow file-read* file-map-executable 261 (subpath "/AppleInternal") 262 (subpath "/usr/local/lib"))) 263 (with-elevated-precedence 264 (allow file-read* file-map-executable file-issue-extension 265 (front-user-home-subpath "/XcodeBuiltProducts"))) 266 267 ;; <rdar://problem/8107758> 268 (allow file-read* file-map-executable 269 (subpath "/System/Library/Frameworks") 270 (subpath "/System/Library/PrivateFrameworks")) 271 272 ;; <rdar://problem/32544921> 273 (mobile-preferences-read "com.apple.hangtracer")) 274 275 (define-once (device-access) 276 (deny file-read* file-write* 277 (vnode-type BLOCK-DEVICE CHARACTER-DEVICE)) 278 279 (allow file-read* file-write-data 280 (literal "/dev/null") 281 (literal "/dev/zero")) 282 283 (allow file-read* file-write-data file-ioctl 284 (literal "/dev/dtracehelper")) 285 286 (allow file-read* 287 (literal "/dev/random") 288 (literal "/dev/urandom")) 289 ;; <rdar://problem/14215718> 290 (deny file-write-data (with no-report) 291 (literal "/dev/random") 292 (literal "/dev/urandom")) 293 294 (allow file-read* file-write-data file-ioctl 295 (literal "/dev/aes_0"))) 296 297 (define-once (awd-log-directory daemon-name) 298 (let* 299 ((base-directory (home-relative-path "/Library/Logs/awd"))) 300 (allow-create-directory (literal base-directory)) 301 (allow file-read* file-write* 302 (prefix (string-append base-directory "/awd-" daemon-name ".log"))) 303 (allow mach-lookup 304 (global-name "com.apple.awdd")))) 305 306 (define-once (logd-diagnostic-paths) 307 (require-any 308 (subpath "/private/var/db/diagnostics") 309 (subpath "/private/var/db/timesync") 310 (subpath "/private/var/db/uuidtext") 311 (subpath "/private/var/userdata/diagnostics"))) 312 (define-once (logd-diagnostic-client) 313 (with-filter 314 (require-all 315 (require-any 316 (require-entitlement "com.apple.private.logging.diagnostic") 317 (require-entitlement "com.apple.diagnosticd.diagnostic")) 318 (extension "com.apple.logd.read-only")) 319 (allow file-read* 320 (logd-diagnostic-paths)))) 321 322 (define required-etc-files 323 (literal "/private/etc/fstab" 324 "/private/etc/hosts" 325 "/private/etc/group" 326 "/private/etc/passwd" 327 "/private/etc/protocols" 328 "/private/etc/services")) 329 330 (deny file-map-executable) 331 332 (deny file-write-mount file-write-unmount) 333 334 (allow file-read-metadata (with no-times) 335 (vnode-type DIRECTORY)) 336 (with-filter (apple-signed-executable?) 337 (allow file-read-metadata 338 (vnode-type DIRECTORY))) 339 340 (with-filter (apple-signed-executable?) 341 (managed-configuration-read "CloudConfigurationDetails.plist") 342 (managed-configuration-read "CloudConfigurationSetAsideDetails.plist") 343 (mobile-preferences-read "com.apple.security")) 344 345 (with-filter (system-attribute apple-internal) 346 (mobile-preferences-read "com.apple.PrototypeTools")) 347 348 (with-elevated-precedence 349 (allow file-read* 350 (subpath "/usr/lib" 351 "/usr/share" 352 "/private/var/db/timezone")) 353 (allow-read-and-issue-generic-extensions 354 (subpath "/Library/RegionFeatures" 355 "/System/Library")) 356 (allow file-issue-extension 357 (require-all 358 (extension-class "com.apple.mediaserverd.read") 359 (subpath "/System/Library"))) 360 (let ((hw-identifying-paths 361 (require-any 362 (literal "/System/Library/Caches/apticket.der") 363 (subpath "/System/Library/Caches/com.apple.kernelcaches") 364 (subpath "/System/Library/Caches/com.apple.factorydata")))) 365 (deny file-issue-extension file-read* hw-identifying-paths)) 366 367 (allow file-map-executable 368 (subpath "/System/Library") 369 (subpath "/usr/lib")) 370 (allow file-read-metadata 371 (vnode-type SYMLINK)) 372 373 ;;; <rdar://problem/24144418> 374 (allow file-read* 375 (subpath "/private/var/preferences/Logging")) 376 377 (mobile-preferences-read "kCFPreferencesAnyApplication") 378 (allow file-read* 379 (front-user-home-literal "/Library/Preferences/.GlobalPreferences.plist")) 380 381 (allow file-read* 382 (literal "/private/var/Managed Preferences/mobile/.GlobalPreferences.plist")) 383 (allow managed-preference-read (preference-domain "kCFPreferencesAnyApplication")) 384 385 (allow file-read-metadata 386 (home-literal "/Library/Caches/powerlog.launchd")) 387 388 (allow-read-and-issue-generic-extensions (executable-bundle)) 389 (allow file-map-executable (executable-bundle)) 390 391 ;; <rdar://problem/13963294> 392 (deny file-read-data file-issue-extension file-map-executable 393 (require-all 394 (executable-bundle) 395 (regex #"/[^/]+/SC_Info/"))) 396 397 (unless (defined? 'restrictive-extension) 398 (with-filter 399 (extension 400 "com.apple.app-sandbox.read" 401 "com.apple.app-sandbox.read-write" 402 "com.apple.quicklook.readonly" 403 "com.apple.security.exception.files.absolute-path.read-only" 404 "com.apple.security.exception.files.absolute-path.read-write" 405 "com.apple.security.exception.files.home-relative-path.read-only" 406 "com.apple.security.exception.files.home-relative-path.read-write" 407 "com.apple.sharing.airdrop.readonly") 408 (allow file-read* file-read-metadata) 409 (allow file-issue-extension 410 (extension-class "com.apple.app-sandbox.read" 411 "com.apple.mediaserverd.read" 412 "com.apple.quicklook.readonly" 413 "com.apple.sharing.airdrop.readonly"))) 414 (with-filter 415 (extension 416 "com.apple.app-sandbox.read-write" 417 "com.apple.security.exception.files.absolute-path.read-write" 418 "com.apple.security.exception.files.home-relative-path.read-write") 419 (allow file-write*) 420 (allow file-issue-extension 421 (extension-class "com.apple.app-sandbox.read-write" 422 "com.apple.mediaserverd.read-write")))) 423 424 ;; <rdar://problem/16079361> 425 (with-filter (global-name-prefix "") 426 (allow mach-register 427 (extension "com.apple.security.exception.mach-register.global-name"))) 428 (with-filter (local-name-prefix "") 429 (allow mach-register 430 (extension "com.apple.security.exception.mach-register.local-name"))) 431 (allow-read-and-issue-generic-extensions 432 (extension "com.apple.security.exception.files.absolute-path.read-only") 433 (extension "com.apple.security.exception.files.home-relative-path.read-only")) 434 (allow-read-write-and-issue-generic-extensions 435 (extension "com.apple.security.exception.files.absolute-path.read-write") 436 (extension "com.apple.security.exception.files.home-relative-path.read-write")) 437 (allow iokit-open 438 (extension "com.apple.security.exception.iokit-user-client-class")) 439 (allow managed-preference-read 440 (extension "com.apple.security.exception.managed-preference.read-only")) 441 (allow user-preference-read 442 (extension "com.apple.security.exception.shared-preference.read-only")) 443 (allow user-preference-read user-preference-write 444 (extension "com.apple.security.exception.shared-preference.read-write")) 445 446 (allow file-issue-extension 447 (require-all 448 (extension-class "com.apple.nsurlstorage.extension-cache") 449 (extension "com.apple.security.exception.files.home-relative-path.read-write") 450 (require-any 451 (prefix "/private/var/root/Library/Caches/") 452 (front-user-home-prefix "/Library/Caches/")))) 453 ) 454 455 (debugging-support) 456 457 (allow file-read* 458 required-etc-files 459 (literal "/")) 460 461 (allow file-read* 462 (subpath "/private/var/MobileAsset/PreinstalledAssetsV2/InstallWithOs")) 463 464 (device-access) 465 466 (allow file-issue-extension 467 (require-all 468 (extension-class "com.apple.app-sandbox.read-write" "com.apple.app-sandbox.read") 469 (extension "com.apple.fileprovider.read-write"))) 470 471 (when (defined? 'restrictive-extension) 472 (with-filter (require-not (require-entitlement "get-task-allow")) 473 (deny mach-lookup (with no-report) 474 (global-name "com.apple.logd") 475 (global-name "com.apple.logd.events")))) 476 477 (allow ipc-posix-shm-read* 478 (ipc-posix-name-prefix "apple.cfprefs.")) 479 480 ;; <rdar://problem/12413942> 481 (allow file-read* 482 (well-known-system-group-container-literal "/systemgroup.com.apple.mobilegestaltcache/Library/Caches/com.apple.MobileGestalt.plist")) 483 (allow iokit-get-properties 484 (iokit-property "IORegistryEntryPropertyKeys")) 485 486 (allow ipc-posix-sem-open 487 (ipc-posix-name "containermanagerd.fb_check")) 488 489 (with-filter (ipc-posix-name "purplebuddy.sentinel") 490 (deny ipc-posix-sem-create ipc-posix-sem-post ipc-posix-sem-unlink ipc-posix-sem-wait) 491 (allow ipc-posix-sem-open)) 492 493 (allow system-sched 494 (require-entitlement "com.apple.private.kernel.override-cpumon")) 495 496 (deny sysctl-read (with no-report) 497 (sysctl-name "sysctl.proc_native")) 498 499 (allow file-read-metadata network-outbound 500 (literal "/private/var/run/syslog")) 501 502 (if (defined? 'restrictive-extension) 503 (begin 504 (deny mach-lookup (with no-report) 505 (global-name "com.apple.system.notification_center")) 506 (deny ipc-posix-shm-read* (with no-report) 507 (ipc-posix-name "apple.shm.notification_center"))) 508 ; else 509 (begin 510 (allow ipc-posix-shm-read* 511 (ipc-posix-name "apple.shm.notification_center")))) 512 513 (logd-diagnostic-client) 514 515 (managed-configuration-read-public) 516 517 (deny system-info (with no-report) 518 (info-type "net.link.addr")) 519 520 (allow file-read* 521 (subpath "/private/var/db/datadetectors/sys")) 522 523 (allow-well-known-system-group-container-subpath-read 524 "/systemgroup.com.apple.icloud.findmydevice.managed/Library") 525 526 (allow mach-task-name (target self)) 527 528 (allow process-info-pidinfo (target self)) 529 (allow process-info-pidfdinfo (target self)) 530 (allow process-info-pidfileportinfo (target self)) 531 (allow process-info-setcontrol (target self)) 532 (allow process-info-dirtycontrol (target self)) 533 (allow process-info-rusage (target self)) 534 (allow process-info-codesignature (target self)) 535 536 (with-filter (apple-signed-executable?) 537 (mobile-preferences-read "com.apple.demo-settings")) 538 539 (with-filter (uid 0) 540 (allow file-read* 541 (literal "/private/etc/master.passwd"))) 542 543 (mobile-preferences-read "com.apple.Accessibility") 544 545 ;;; 546 ;;; End common.sb content 547 ;;; 29 548 30 549 (deny mach-lookup (xpc-service-name-prefix ""))
Note:
See TracChangeset
for help on using the changeset viewer.