Libgadu, an open library for communicating using the protocol e-mail, was found to have missing the ssl certificate validation. The issue is that libgadu uses openSSL library for creating secure connections. A program using openSSL can perform SSL handshake by invoking the SSL_connect function. Some cetrificate validation errors are signaled through, the return values of the SSL_connect, while for the others errors SSL_connect returns OK but sets internal "verify result" flags. Application must call ssl_get_verify_result function to check if any such errors occurred. This check seems to be missing in libgadu. And thus a man-in-the-middle attack is possible failing all the SSL protection.
Upstream suggested that it was a concious decision as libgadu is reverse-engineered implementation of a proprietary protocol, they had no control over the certificates used for SSL connections, so they would add a note to the documentation about this.
Created libgadu tracking bugs for this issue:
Affects: fedora-all [bug 1025719]
Looks like these are relevant upstream commits:
Hard to say if there are more as the changelog is not in english.
libgadu-1.12.0-0.2.rc1.fc19 has been pushed to the Fedora 19 stable repository. If problems still persist, please make note of it in this bug report.
libgadu-1.12.0-0.2.rc1.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.
Can this be closed?