datatheorem / datatheorem/TrustKit

TrustKit crash only in production environment

Open
#320 1 comment 0 reactions 0 assignees View on GitHub

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)

Screenshot 2023-12-07 at 1 42 44 PM

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.