-
Notifications
You must be signed in to change notification settings - Fork 88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove checkInCertChain #28
Comments
Why is this considered as not secure? Pinning to a specific Certificate Authority (one that you trust because you specific it specifically) was a way to ensure that only certificates issued by a specific CA were trusted.
In both these cases, pinning to a specific CA wouldn't be impacted by such other CAs. Now, what can happen:
I understand that an old version of this plugin can be used to continue and use this option, but this won't allow new features coming with new versions to be used, unless a custom branch is created. |
@cvillerm If you want to discuss it with the person why brought this to my attention then I'll send you his email address. Please let me know if you want to. |
@EddyVerbruggen, why not. What also about involving this person in this discussion? |
Hey @cvillerm, no need for email, we can chat here. The details of the vulnerability are now public: https://www.cigital.com/blog/ineffective-certificate-pinning-implementations and a cve has been assigned for the exact same issue on a different library (CVE-2016-2402) SSLCertificateChecker-PhoneGap-Plugin is one of the affected libraries/apps. Your points about CA pinning are correct; doing CA pinning is not inherently insecure. It just leaves a wider attack surface than doing end-entity pinning, but is still much better than not pinning at all. The devil is in the detail though; implementation matters. The way CA pinning was implemented in this library (and several others) was insecure, not CA pinning itself as a practice. Fixing the code while following the same basic implementation strategy while maintaining compatibility with multiple Android versions is not trivial because the available Java APIs do not help. Thus @EddyVerbruggen decided to remove the feature. Using version 4.0.0 or lower of this library and setting |
Hi @ikoz, thanks for providing these details in this discussion. This is indeed helping everybody to learn. Until this core library is fixed, I understand now how this can indeed be a security breach. |
Because this is a feature that doesn't offer a secure protection against MitM attacks. I know that folks use this with that fact in mind but I don't want to actively promote such usage. Use plugin version 4.0.0 or lower if you need to nonetheless.
The text was updated successfully, but these errors were encountered: