6 ms·
TLS verification vulnerability in LibreSSL 2.5.1-2.5.3
- akerro 9y agoWho uses LibreSSL on production or in their apps?
- jlg23 9y agoMe and all BSD-admins I know. Though after a quick glance at the CVE I doubt any of us is affected.
- akerro 9y agoSo, who adopted LibreSSL, OpenBSD, Void Linux and TrueOS?
- _ikke_ 9y agoAlpinelinux (where this bug was found)
- vesak 9y agoAlpine could very well be the largest user of LibreSSL due to its popularity in Linux container circles.
- ishtu 9y agoMacOS ships OpenSSH linked against LibreSSL
- gbrown_ 9y agoI think there are FreeBSD people working on getting it into base. I know people have replaced the base OpenSSL with LibreSSL on their own. Edit: This is not the case as feld has pointed out below.
- feld 9y agoNot currently in the plans because the support window for LibreSSL is significantly shorter than a FreeBSD release support cycle.
- gbrown_ 9y agoThanks for the correction, I've edited my comment.
- floatboth 9y agoHardenedBSD wanted to do LibreSSL in base but /usr/bin/openssl version on my home server still returns "OpenSSL 1.0.2k-freebsd". I use LibreSSL from ports anyway :) but it'd be nice to have it in base, yeah. By the way I actually do use client certificates on my home server. It's behind my ISP's NAT though, no incoming connections from outside are possible lol
- jlg23 9y agoYes, you have to roll your own. But for hardened setups one has build hosts anyway, so it's just a single config setting to rule them all.
- ftigeot 9y agoDragonFly uses it for base and packages.
- DorothySim 9y agoNote that it is about TLS client certificates so it's not as widespread as it seems (unless you use these certs of course :) ).
- kroeckx 9y agoIt's not about client certificates, but it can be a reason why some software might want to do this. The return value of 1 allows the program to deal with verification errors instead of aborting the connection. You can for instance use this to display a proper error message that authentication failed, instead of just closing the connection and getting a generic TLS error message.
- adekok 9y agoEAP-TLS. Wifi authentication for many enterprises and universities. Most of which won't be using LibreSSL, tho...
- cesarb 9y agoNot to mention TLS VPNs like openvpn.
- Panino 9y agoOpenELEC, OPNsense, CargOS, TrueOS, drupal.org, and bundled with h2o, plus what others have mentioned.
- erdeszt 9y agoHere's the referenced commit for the interested: https://github.com/libressl-portable/openbsd/commit/ddd98f8ea741a122952185a36c1396c14c2fda74#diff-027facc0b7c35aa46b0e8fa7b467f1c4 https://github.com/libressl-portable/openbsd/commit/ddd98f8e... To be honest I'm kinda surprised that even after the 'goto fail' story people still write code in this questionable style(I know this particular issue is not stemming from the lack of curly braces, but still).
- UnoriginalGuy 9y agoThis is C. There's nothing questionable about this "style." It is just how C is written. How else are you going to free resources without a code section to do it? Copy/paste it dozens of times? The specific code isn't "goto fail" anyway, it is more akin to a finally block.
- erdeszt 9y agoI was referring to the lack of curly braces around the body of the then clause. This code has nothing to do with resource management and gotos per se so I don't see where your frustration and attack comes from.
- avar 9y agoIf you compile your code with -Werror -Wmisleading-indentation it's no more dangerous than writing Python.
- gpvos 9y agoI think erdeszt is just referring to the lack of curly braces around the statements governed by the if statements. This can be done around any single-line statement block, and is generally safer in the face of merges from version control.
- cryptarch 9y agoI feel like having "safety net" sections is a smell, too. Maybe it's due to limitations of the language? I'm not a C expert. Safety nets make it seem like you're handling edge cases in a vaguely specified, ad-hoc way, which is prone to forgetting to add the safety net in at least some places, while the nets themselves are easy to mess up as well. Could this code benefit from more typing perhaps? Automated checking of pre- and postconditions? Are there C (macro) libraries implement that in a usable way?
- notaplumber 9y agoThe severity of this issue is being overplayed, some programs were returning 1 in callbacks, a lot of software in the wild interpreted it the way LibreSSL did and hence the attempt at error sanitization. There are patches out for OpenBSD 6.1, LibreSSL 2.5.4 contains the fix. https://www.openbsd.org/errata61.html https://www.openbsd.org/errata61.html https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.5.4-relnotes.txt https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.5.4-... OpenBSD 6.1 users can now also run syspatch(8).
- btrask 9y agoDoes this affect users of libtls?