Security Bug due to Unchecked use of GnuTLS function
Yuan Jochen Kang
yjk2106 at columbia.edu
Mon Apr 18 19:39:17 EDT 2016
Hi Ethan,
Yes, I agree with your assessment.
Best,
Yuan
On Tue, Apr 12, 2016 at 9:47 AM, Ethan Blanton <elb at pidgin.im> wrote:
> Yuan Jochen Kang spake unto us the following wisdom:
> > We are security researchers at Columbia University and the University of
> > Virginia. As part of a research project, we have built a tool for
> > automatically finding error handling bugs and are testing it on various
> > cryptographic libraries and applications that use them.
> >
> > We discovered that failures of gnutls_x509_crt_init are sometimes
> ignored,
> > which could make the resulting certificate invalid.
>
> I see two instances of this. I agree that it is a problem, and needs
> to be fixed.
>
> However, I think (please correct me if I am wrong) that the
> possibility for failure is extremely small (analysis follows), and in
> fact likely to be caught in other ways that mitigate the problem.
> Therefore, I would suggest that we add this fix to our queue of
> security fixes for the next regular release (which I believe is
> currently empty) and perform a coordinated release (with CVE) at that
> time.
>
> I think this is a pretty slim possibility because, after having
> examined the gnutls source, it appears that the function in question
> can fail in only three circumstances:
>
> 1) GnuTLS has not been initialized or is not properly configured.
> This would have caused a failure somewhere else. We shouldn't rely
> on that, but it is certainly a mitigating factor.
>
> 2) A failure to allocate memory. This is mitigated by the fact that
> Pidgin aborts on failure to allocate, and so it will almost
> certainly fail elsewhere in this process and abort before any
> substantial damage can be done. It's true that this is a race
> (gnutls potentially uses a different allocator than Pidgin, which
> uses the glib allocator), so a bug that allowed arbitrary
> allocation pre-SSL-handshake, for example, could make this gnutls
> bug much worse; however, I think the window is relatively small and
> the likelihood of exploiting low.
>
> 3) A failure in the ASN.1 dictionary. This indicates a
> misconfiguration/mis-installation/error in GnuTLS itself. In this
> case, I doubt we can trust its certificate verification anyway!
> Even if we can, it's likely to fail somewhere else that is
> detected.
>
> So, in summary, I completely agree that this is an error that should
> be corrected, but I don't think it's an emergency. Agreed?
>
> Ethan
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pidgin.im/cgi-bin/mailman/private/security/attachments/20160418/a6626f3e/attachment.html>
More information about the security
mailing list