datatheorem / datatheorem/TrustKit
Crash at ssl_pin_verifier.m - Line 43
Nobody has claimed this yet.
- Dominant language
- Objective-C
- Stars
- 2.1k
- Forks
- 381
- PR merge metrics
- No merged PRs in 30d
Description
We updated from 2.0.1 to 3.0.2 and I can now see some crashes coming from Trustkit. We only have call stack as this happens with our production app.
Call stack:
trust
0 libsystem_kernel.dylib 0xc84 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x13b54 mach_msg2_internal + 80
2 libsystem_kernel.dylib 0x13e2c mach_msg_overwrite + 540
3 libsystem_kernel.dylib 0x11c8 mach_msg + 24
4 libdispatch.dylib 0x1f20c _dispatch_mach_send_and_wait_for_reply + 548
5 libdispatch.dylib 0x1f59c dispatch_mach_send_with_result_and_wait_for_reply + 60
6 libxpc.dylib 0x10218 xpc_connection_send_message_with_reply_sync + 240
7 Security 0x75e4 securityd_message_with_reply_sync + 124
8 Security 0x115e4 securityd_send_sync_and_do + 88
9 Security 0x1ddb8 __SecTrustEvaluateIfNecessary_block_invoke_3 + 516
10 Security 0xa4d0 SecOSStatusWith + 56
11 Security 0xf5ed4 __SecTrustEvaluateIfNecessary_block_invoke_2 + 116
12 libsystem_trace.dylib 0x72e0 _os_activity_initiate_impl + 64
13 Security 0xf5d50 __SecTrustEvaluateIfNecessary_block_invoke.437 + 292
14 libdispatch.dylib 0x3eac _dispatch_client_callout + 20
15 libdispatch.dylib 0x13428 _dispatch_lane_barrier_sync_invoke_and_complete + 56
16 Security 0xf59a4 SecTrustEvaluateIfNecessary + 532
17 Security 0xcf80 SecTrustEvaluateInternal + 48
18 OUR APP 0x1343270 verifyPublicKeyPin + 43 (ssl_pin_verifier.m:43)
19 OUR APP 0x1346714 -[TSKPinningValidator evaluateTrust:forHostname:] + 126 (TSKPinningValidator.m:126)
20 OUR APP 0x1346a44 -[TSKPinningValidator handleChallenge:completionHandler:] + 203 (TSKPinningValidator.m:203)
21 OUR APP 0x17d9d8 -[NBCertificatePinningChecker performCertificatePinningForChallenge:completionHandler:] + 62 (NBCertificatePinningChecker.m:62)
22 CFNetwork 0x77230 CFURLResponseCreateWithHTTPResponse + 22660
23 libdispatch.dylib 0x2320 _dispatch_call_block_and_release + 32
24 libdispatch.dylib 0x3eac _dispatch_client_callout + 20
25 libdispatch.dylib 0xb534 _dispatch_lane_serial_drain + 668
26 libdispatch.dylib 0xc0d8 _dispatch_lane_invoke + 436
27 libdispatch.dylib 0x16cdc _dispatch_workloop_worker_thread + 648
28 libsystem_pthread.dylib 0xddc _pthread_wqthread + 288
29 libsystem_pthread.dylib 0xb7c start_wqthread + 8
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with ssl_pin_verifier.m at line 43, then trace the call into TSKPinningValidator.m at lines 126 and 203. Use the provided production call stack to determine the failing trust-evaluation path; done means identifying the crash cause and confirming that certificate-pinning challenge handling no longer crashes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, objective-c
- Domain
- mobile-dev, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100