datatheorem / datatheorem/TrustKit
TrustKit crash only in production environment
Nobody has claimed this yet.
- Dominant language
- Objective-C
- Stars
- 2.1k
- Forks
- 381
- PR merge metrics
- No merged PRs in 30d
Description
TrustKit giving crashes in my production application, Please find the crash log attached
Thread 7 name:
Thread 7 Crashed:
0 ??? 0x0000000000000000 0x0 + 0
1 TrustKit 0x0000000102e3e114 verifyPublicKeyPin + 328 (ssl_pin_verifier.m:69)
2 TrustKit 0x0000000102e42080 -[TSKPinningValidator evaluateTrust:forHostname:] + 520 (TSKPinningValidator.m:126)
3 TrustKit 0x0000000102e42378 -[TSKPinningValidator handleChallenge:completionHandler:] + 228 (TSKPinningValidator.m:202)
4 myApp 0x0000000100cceacc specialized CustomSessionDelegate.urlSession(:task:didReceive:completionHandler:) + 256 (RestClient.swift:218)
5 myApp 0x0000000100cccb00 specialized CustomSessionDelegate.urlSession(:task:didReceive:completionHandler:) + 12 (:0)
6 myApp 0x0000000100cccb00 @objc CustomSessionDelegate.urlSession(_:task:didReceive:completionHandler:) + 112
7 CFNetwork 0x00000001d37eb654 __78-[__NSCFURLSessionDelegateWrapper task:didReceiveChallenge:completionHandler:]_block_invoke + 168 (SessionDelegateWrapper.mm:375)
8 libdispatch.dylib 0x00000001d9bc84b4 _dispatch_call_block_and_release + 32 (init.c:1518)
9 libdispatch.dylib 0x00000001d9bc9fdc _dispatch_client_callout + 20 (object.m:560)
10 libdispatch.dylib 0x00000001d9bd1694 _dispatch_lane_serial_drain + 672 (inline_internal.h:2632)
11 libdispatch.dylib 0x00000001d9bd2214 _dispatch_lane_invoke + 436 (queue.c:3940)
12 libdispatch.dylib 0x00000001d9bdce10 _dispatch_workloop_worker_thread + 652 (queue.c:6846)
13 libsystem_pthread.dylib 0x000000021f64fdf8 _pthread_wqthread + 288 (pthread.c:2618)
14 libsystem_pthread.dylib 0x000000021f64fb98 start_wqthread + 8 (:-1)
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 the crash path in ssl_pin_verifier.m:69, then inspect TSKPinningValidator.m at lines 126 and 202 and the calling delegate in RestClient.swift:218. Determine what production-only condition reaches the null crash and confirm the fix against the supplied stack trace; done means the production crash path no longer occurs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, objective-c, swift
- Domain
- mobile-dev, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100