GnuTLS audit: passive cleartext recovery attack
anarc.at
anarc.at
I'm the author of the Tweet which this paragraph links to. The author of this blog post is misinterpreting the problem. It's not the session ticket which is rotated after 6 hours, but the session ticket encryption key (STEK). This has nothing to do with the length of the TLS session, but rather the lifetime of the process using GnuTLS. For the first 6 hours, connections made to the GnuTLS server are vulnerable. After the process has been running for 6 hours, new connections are safe (assuming there's no other GnuTLS vulnerability). This reduces the impact of the vulnerability considerably (although it's still really bad).
> It is likely that people don't have OpenSSL in mind when they suggest moving away from GnuTLS
No, OpenSSL is exactly what we have in mind, including Filippo: https://twitter.com/FiloSottile/status/1270130358634283008
OpenSSL isn't perfect but it has improved considerably since Heartbleed and has the resources (funding and competent people) that a crypto project needs.
> No, OpenSSL is exactly what we have in mind, including Filippo: https://twitter.com/FiloSottile/status/1270130358634283008
Please note that the next version of OpenSSL (version 3) will be licensed under the Apache 2.0 license [1], making it incompatible with GPL v2 libraries and applications [2].
GPL v2 applications will be stuck with OpenSSL 1.x (or GnuTLS or other libs).
[1] https://wiki.openssl.org/index.php/OpenSSL_3.0#License_Chang... [2] https://www.gnu.org/licenses/license-list.en.html#apache2
Also note that the old OpenSSL license was incompatible with both GPLv2 and GPLv3 (unless the project provided an exception for OpenSSL). So OpenSSL 3's license change increases compatibility with GPL software.
To be fair, the post does mention this, but I’m struggling to see why the author would mention those packages in the first place except for sensationalism.
I don't think it's common to use gnutls for a web server.
Serious security audits aren't cheap.
I am happy that they are getting audits. I don't know whether I would use it if someone paid me to write something secure, but I hope that the audits will result in a future where it would be a good option.
Eyeballs mean nothing when the code is a dense ball of mud.
That's not really true. Pre-heartbleed there were very few contributors to OpenSSL. After heartbleed the management of the project was overhauled. There was also a large inflow of funding (Linux Foundation’s Core Infrastructure Initiative) and new contributors.[0]
In 2018 the OpenSSL team was one of the winners of the Levchin prize "for dramatic improvements to the code quality of OpenSSL".
[0]: https://www.securityweek.com/evolution-openssl-security-afte...
2 years, 10 releases. More than one release per year.[1]
In TLS 1.3 it matters whether you use the ticket, if you just discard tickets they can't hurt you, if you use the ticket while an on-path adversary knows the STEK they could MITM you.
As a result in TLS 1.2 it matters whether the TLS client implementation reports willingness to accept tickets, not on whether you've written code to actually ever use the resulting tickets. If your library says "Sure, send me a ticket" then in TLS 1.2 the only thing protecting your session is the STEK inside the server, if that leaks or isn't actually random you lose regardless of what you do with the tickets including throwing them away.