⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 286865 in webkit


Ignore:
Timestamp:
Dec 10, 2021, 11:34:01 AM (5 years ago)
Author:
pvollan@apple.com
Message:

[WP] Block access to container manager service for Mail
https://bugs.webkit.org/show_bug.cgi?id=234080
<rdar://problem/86269784>

Reviewed by Brent Fulgham.

Local testing is not showing access to this daemon when running Mail.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

  • WebProcess/com.apple.WebProcess.sb.in:
Location:
trunk/Source/WebKit
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r286864 r286865  
     12021-12-10  Per Arne Vollan  <pvollan@apple.com>
     2
     3        [WP] Block access to container manager service for Mail
     4        https://bugs.webkit.org/show_bug.cgi?id=234080
     5        <rdar://problem/86269784>
     6
     7        Reviewed by Brent Fulgham.
     8
     9        Local testing is not showing access to this daemon when running Mail.
     10
     11        * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
     12        * Shared/WebProcessCreationParameters.cpp:
     13        (WebKit::WebProcessCreationParameters::encode const):
     14        (WebKit::WebProcessCreationParameters::decode):
     15        * Shared/WebProcessCreationParameters.h:
     16        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
     17        (WebKit::WebProcessPool::platformInitializeWebProcess):
     18        * WebProcess/cocoa/WebProcessCocoa.mm:
     19        (WebKit::WebProcess::platformInitializeWebProcess):
     20        * WebProcess/com.apple.WebProcess.sb.in:
     21
    1222021-12-10  Said Abou-Hallawa  <said@apple.com>
    223
  • trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in

    r286852 r286865  
    645645       (iokit-property "IORegistryEntryPropertyKeys"))
    646646
    647 (allow ipc-posix-sem-open
     647(allow ipc-posix-sem-open (with telemetry)
    648648       (ipc-posix-name "containermanagerd.fb_check"))
    649649
     
    10851085            "com.apple.cfprefsd.agent"
    10861086            "com.apple.cfprefsd.daemon"
    1087             "com.apple.containermanagerd"
    10881087            "com.apple.iphone.axserver-systemwide"
    10891088            "com.apple.mobileassetd.v2"
  • trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp

    r286590 r286865  
    163163#endif
    164164
    165     encoder << containerManagerExtensionHandle;
    166165    encoder << mobileGestaltExtensionHandle;
    167166    encoder << launchServicesExtensionHandle;
     
    458457#endif
    459458
    460     std::optional<std::optional<SandboxExtension::Handle>> containerManagerExtensionHandle;
    461     decoder >> containerManagerExtensionHandle;
    462     if (!containerManagerExtensionHandle)
    463         return false;
    464     parameters.containerManagerExtensionHandle = WTFMove(*containerManagerExtensionHandle);
    465 
    466459    std::optional<std::optional<SandboxExtension::Handle>> mobileGestaltExtensionHandle;
    467460    decoder >> mobileGestaltExtensionHandle;
  • trunk/Source/WebKit/Shared/WebProcessCreationParameters.h

    r286590 r286865  
    202202#endif
    203203
    204     std::optional<SandboxExtension::Handle> containerManagerExtensionHandle;
    205204    std::optional<SandboxExtension::Handle> mobileGestaltExtensionHandle;
    206205    std::optional<SandboxExtension::Handle> launchServicesExtensionHandle;
  • trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm

    r286661 r286865  
    292292}
    293293
    294 static bool requiresContainerManagerAccess()
    295 {
    296 #if PLATFORM(MAC)
    297     return WebCore::MacApplication::isAppleMail();
    298 #elif PLATFORM(IOS)
    299     return WebCore::IOSApplication::isMobileMail();
    300 #else
    301     return false;
    302 #endif
    303 }
    304 
    305294void WebProcessPool::platformInitializeWebProcess(const WebProcessProxy& process, WebProcessCreationParameters& parameters)
    306295{
     
    427416    parameters.systemHasBattery = systemHasBattery();
    428417    parameters.systemHasAC = cachedSystemHasAC().value_or(true);
    429 
    430     if (requiresContainerManagerAccess()) {
    431         if (auto handle = SandboxExtension::createHandleForMachLookup("com.apple.containermanagerd"_s, std::nullopt))
    432             parameters.containerManagerExtensionHandle = WTFMove(*handle);
    433     }
    434418
    435419#if PLATFORM(IOS_FAMILY)
  • trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm

    r286838 r286865  
    410410#endif
    411411
    412     if (parameters.containerManagerExtensionHandle)
    413         SandboxExtension::consumePermanently(*parameters.containerManagerExtensionHandle);
    414    
    415412#if PLATFORM(IOS_FAMILY)
    416413    SandboxExtension::consumePermanently(parameters.dynamicIOKitExtensionHandles);
  • trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in

    r286859 r286865  
    17631763            "com.apple.cfprefsd.agent"
    17641764            "com.apple.cfprefsd.daemon"
    1765             "com.apple.containermanagerd"
    17661765            "com.apple.coreservices.launchservicesd"
    17671766            "com.apple.iconservices"
Note: See TracChangeset for help on using the changeset viewer.