Changeset 243465 in webkit


Ignore:
Timestamp:
Mar 25, 2019 3:10:16 PM (5 years ago)
Author:
commit-queue@webkit.org
Message:

Do not terminate the NetworkProcess if a third party application sends a NSCredential with a SecIdentityRef
https://bugs.webkit.org/show_bug.cgi?id=196213

Patch by Alex Christensen <achristensen@webkit.org> on 2019-03-25
Reviewed by Geoff Garen.

Source/WebKit:

A release assertion added in r230225 was reachable. I reached it in a unit test that responds to a challenge
with a SecIdentityRef wrapped in an NSCredential.

  • Shared/cf/ArgumentCodersCF.cpp:

(IPC::decode):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm: Added.

(credentialWithIdentityAndKeychainPath):
(-[ChallengeDelegate webView:didFinishNavigation:]):
(-[ChallengeDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
(TestWebKitAPI::TEST):

Location:
trunk
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r243461 r243465  
     12019-03-25  Alex Christensen  <achristensen@webkit.org>
     2
     3        Do not terminate the NetworkProcess if a third party application sends a NSCredential with a SecIdentityRef
     4        https://bugs.webkit.org/show_bug.cgi?id=196213
     5
     6        Reviewed by Geoff Garen.
     7
     8        A release assertion added in r230225 was reachable.  I reached it in a unit test that responds to a challenge
     9        with a SecIdentityRef wrapped in an NSCredential.
     10
     11        * Shared/cf/ArgumentCodersCF.cpp:
     12        (IPC::decode):
     13
    1142019-03-25  Chris Dumez  <cdumez@apple.com>
    215
  • trunk/Source/WebKit/Shared/cf/ArgumentCodersCF.cpp

    r242325 r243465  
    698698bool decode(Decoder& decoder, RetainPtr<SecIdentityRef>& result)
    699699{
    700 #if PLATFORM(COCOA)
    701     RELEASE_ASSERT(hasProcessPrivilege(ProcessPrivilege::CanAccessCredentials));
    702 #endif
    703 
    704700    RetainPtr<SecCertificateRef> certificate;
    705701    if (!decode(decoder, certificate))
     
    716712    if (!decode(decoder, keyData))
    717713        return false;
     714
     715#if PLATFORM(COCOA)
     716    if (!hasProcessPrivilege(ProcessPrivilege::CanAccessCredentials))
     717        return true;
     718#endif
    718719
    719720    SecKeyRef key = nullptr;
  • trunk/Tools/ChangeLog

    r243464 r243465  
     12019-03-25  Alex Christensen  <achristensen@webkit.org>
     2
     3        Do not terminate the NetworkProcess if a third party application sends a NSCredential with a SecIdentityRef
     4        https://bugs.webkit.org/show_bug.cgi?id=196213
     5
     6        Reviewed by Geoff Garen.
     7
     8        * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
     9        * TestWebKitAPI/Tests/WebKitCocoa/Challenge.mm: Added.
     10        (credentialWithIdentityAndKeychainPath):
     11        (-[ChallengeDelegate webView:didFinishNavigation:]):
     12        (-[ChallengeDelegate webView:didReceiveAuthenticationChallenge:completionHandler:]):
     13        (TestWebKitAPI::TEST):
     14
    1152019-03-25  Aakash Jain  <aakash_jain@apple.com>
    216
  • trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj

    r243445 r243465  
    312312                5C0BF8951DD599CD00B00328 /* NavigatorLanguage.mm in Sources */ = {isa = PBXBuildFile; fileRef = E19DB9781B32137C00DB38D4 /* NavigatorLanguage.mm */; };
    313313                5C19A5241FD0F60100EEA323 /* CookiePrivateBrowsing.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5C19A5231FD0F32600EEA323 /* CookiePrivateBrowsing.mm */; };
     314                5C23DF0B2246015800F454B6 /* Challenge.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5C23DF0A2245C9D700F454B6 /* Challenge.mm */; };
    314315                5C2936931D5BF70D00DEAB1E /* CookieAcceptPolicy.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5C2936911D5BF63E00DEAB1E /* CookieAcceptPolicy.mm */; };
    315316                5C2936961D5C00ED00DEAB1E /* CookieMessage.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 5C2936941D5BFD1900DEAB1E /* CookieMessage.html */; };
     
    17211722                5C0BF88F1DD5999B00B00328 /* WebViewCanPasteZeroPng.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebViewCanPasteZeroPng.mm; sourceTree = "<group>"; };
    17221723                5C19A5231FD0F32600EEA323 /* CookiePrivateBrowsing.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CookiePrivateBrowsing.mm; sourceTree = "<group>"; };
     1724                5C23DF0A2245C9D700F454B6 /* Challenge.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = Challenge.mm; sourceTree = "<group>"; };
    17231725                5C2936911D5BF63E00DEAB1E /* CookieAcceptPolicy.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CookieAcceptPolicy.mm; sourceTree = "<group>"; };
    17241726                5C2936941D5BFD1900DEAB1E /* CookieMessage.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = CookieMessage.html; sourceTree = "<group>"; };
     
    25312533                                1C2B817E1C891E4200A5529F /* CancelFontSubresource.mm */,
    25322534                                1C2B81811C891EFA00A5529F /* CancelFontSubresourcePlugIn.mm */,
     2535                                5C23DF0A2245C9D700F454B6 /* Challenge.mm */,
    25332536                                5CB18BA71F5645B200EE23C4 /* ClickAutoFillButton.mm */,
    25342537                                CDF92236216D186400647AA7 /* CloseWebViewAfterEnterFullscreen.mm */,
     
    40274030                                57303BC9200824D300355965 /* CBORValueTest.cpp in Sources */,
    40284031                                57303BCA20082C0100355965 /* CBORWriterTest.cpp in Sources */,
     4032                                5C23DF0B2246015800F454B6 /* Challenge.mm in Sources */,
    40294033                                F44A531221B8990A00DBB99C /* ClassMethodSwizzler.mm in Sources */,
    40304034                                7CCE7EE61A411AE600447C4C /* CloseFromWithinCreatePage.cpp in Sources */,
Note: See TracChangeset for help on using the changeset viewer.