CVE-2019-16263
Description
The Twitter Kit framework through 3.4.2 for iOS does not properly validate the api.twitter.com SSL certificate. Although the certificate chain must contain one of a set of pinned certificates, there are certain implementation errors such as a lack of hostname verification. NOTE: this is an end-of-life product.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected products
2- Twitter/Twitter Kit frameworkdescription
Patches
Vulnerability mechanics
Root cause
"Missing hostname verification in the custom TLS trust evaluation delegate allows any valid certificate chain containing a pinned CA public key to be accepted, regardless of the domain name."
Attack vector
An attacker with a valid certificate for any domain, issued by one of the pinned CAs (VeriSign, DigiCert, GeoTrust), can perform a man-in-the-middle attack against apps using TwitterKit for iOS to communicate with api.twitter.com [ref_id=1]. Because the framework's `evaluateServerTrust` method only checks whether the certificate chain contains a certificate whose public key hash matches the pinned list — without verifying the domain name — any valid chain from those CAs is accepted [ref_id=1]. The matching public key can appear at any position in the chain (leaf, intermediate, or root), further widening the attack surface [ref_id=1]. The attacker redirects traffic for api.twitter.com to their own server, presenting their legitimate certificate, and the app accepts it, allowing interception of all API communications [ref_id=1].
Affected code
The vulnerability resides in the TwitterKit framework's custom TLS validation method `evaluateServerTrust` (up to version 3.4.2). The framework implements its own server trust evaluation delegate method for public key pinning, overriding iOS's default certificate validation. The code maintains an array of 21 public key hashes for trusted root CAs (VeriSign, GeoTrust, DigiCert) and a "TWITTER1" entry, but does not verify the domain name of the leaf certificate [ref_id=1].
What the fix does
No patch or fixed version exists — TwitterKit for iOS is an end-of-life product and Twitter has not released a remediation [ref_id=1]. The advisory notes that a simple fix would have been to additionally call iOS's `SecTrustEvaluate` method and use its result to reject certificates that do not match the expected domain name [ref_id=1]. The only recommended mitigation is for app developers to migrate away from TwitterKit and switch to alternative APIs [ref_id=1].
Preconditions
- configThe target app must use TwitterKit for iOS version 3.4.2 or earlier to communicate with api.twitter.com
- inputThe attacker must control a domain with a valid TLS certificate issued by one of the pinned CAs (VeriSign, DigiCert, or GeoTrust)
- networkThe attacker must be positioned to intercept network traffic between the victim app and api.twitter.com (e.g., on a shared Wi-Fi network or compromised router)
Generated on May 25, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
3- blog.appicaptor.com/2019/10/04/vulnerable-library-warning-twitterkit-for-ios/mitrex_refsource_MISC
- github.com/twitter-archive/twitter-kit-ios/blob/ac42e1351a66afa5ff7718d04d64a905dafe1f41/TwitterCore/TwitterCore/Networking/Security/TWTRServerTrustEvaluator.mmitrex_refsource_MISC
- www.sit.fraunhofer.de/fileadmin/dokumente/CVE/Advisory_TwitterKit_for_iOS_CVE-2019-16263.pdfmitrex_refsource_MISC
News mentions
0No linked articles in our index yet.