Opened 7 years ago
Closed 6 years ago
#55264 closed update (fixed)
libressl @2.5.5: update to 2.8.3
Reported by: | l2dy (Zero King) | Owned by: | jeremyhu (Jeremy Huddleston Sequoia) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | security | Cc: | tgyurci (Teubel György), mojca (Mojca Miklavec) |
Port: | libressl |
Description
Change History (25)
comment:1 Changed 7 years ago by janstary (Jan Starý)
comment:2 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Summary: | libressl @2.5.5: update to 2.6.3 → libressl @2.5.5: update to 2.6.4 |
---|
Jeremy, if you're deliberately holding libressl back on version 2.5.x, you could update libressl-devel to 2.6.4; it's currently at 2.6.2.
comment:3 follow-up: 23 Changed 7 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Yes, I wanted to hold off on doing any libressl update until we came to a solution for #54744 because it's always a PITA to revvupgrade-rebuild everything ;)
comment:5 Changed 7 years ago by tgyurci (Teubel György)
Cc: | tgyurci added |
---|
comment:6 Changed 7 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Yep, and we still don't have a good solution for #54744, and unfortunately I don't have much free time on my calendar for a long while... =/
comment:7 Changed 7 years ago by janstary (Jan Starý)
I don't think #54744 prevents us from upgrading LibreSSL. Reading the release notes since 2.6.2 (which we curently have in libressl-devel) up to 2.7.2, there are changes we definitely want to have. Cherrypicking these two:
- Added support for many OpenSSL 1.0.2 and 1.1 APIs, based on observations of real-world usage in applications.
- Fixed builds macOS 10.11 and older.
I believe we have much better reasons to upgrade than not to upgrade.
comment:8 Changed 7 years ago by janstary (Jan Starý)
comment:9 Changed 7 years ago by jeremyhu (Jeremy Huddleston Sequoia)
The reason not to is that the rebuild process is very manual and painful for users. I think I'm ok bumping the -devel port, but we should keep the "production" one at its curret state until se solve #54744.
comment:10 follow-up: 12 Changed 7 years ago by janstary (Jan Starý)
If we do upgrade, the dependent ports need to be rebuilt, obviously. But that's imho a very weak reason not to upgrade. There are ports that can drop their OpenSSl/LibreSSL patch now. Isn't that the issue we have with LibreSSL in general?
The fact that we have not yet figured out the right way for OpenSSL, LibreSSL, WolfSSL etc to coexist in general is not a reason to not upgrade: we are no worse off in that regard with 2.7.2 than 2.5.5 (or any other version of any of the others, for that matter).
As for the libressl and libressl-devel: LibreSSL itself makes no distinction between a "stable release" or a "devel releaae". That's entirely ours (i.e. Jeremy's :-). I undrstand the desire to have the "bleeding edge" separated, so that you can install either the latest or the previous (typically). But our libressl is 2.5.5 and our libressl-devel is 2.6.2; that is, they are both behind.
(Personaly, I would only have one libressl port; people can test the new on a PR branch, as opposed to having a separate port installed.)
comment:11 Changed 7 years ago by raimue (Rainer Müller)
Is the libressl update ABI incompatible? Or what kind of breakage do we expect?
I do not think solving #54744 first would help much with the update. Even if openssl and libressl would coexist, and we had +openssl and +libressl variants in all ports, it would still be required to rev-bump dependents for ABI incompatible changes.
On ABI incompatible updates, we are usually rev-bumping dependents that use it by default. If people chose to install a non-default port to fulfill a dependency, we have no better solution to offer than to live with the occasional brokenness. If rev-upgrade can detect the incompatibility by examining the libraries (failing at load, not at runtime), then it will automatically rebuild the broken ports locally.
comment:12 Changed 7 years ago by l2dy (Zero King)
Replying to janstary:
As for the libressl and libressl-devel: LibreSSL itself makes no distinction between a "stable release" or a "devel releaae". That's entirely ours (i.e. Jeremy's :-). I undrstand the desire to have the "bleeding edge" separated, so that you can install either the latest or the previous (typically). But our libressl is 2.5.5 and our libressl-devel is 2.6.2; that is, they are both behind.
LibreSSL makes the distinction, though sometimes only one current release exists. See https://web.archive.org/web/20180401065306/http://www.libressl.org/:
The latest stable release is 2.6.4 The latest development release is 2.7.1 See the releases page for support information.
comment:13 Changed 7 years ago by mojca (Mojca Miklavec)
Cc: | mojca added |
---|
comment:14 follow-up: 15 Changed 7 years ago by janstary (Jan Starý)
OK, do we agree that figuring out #54744 is not a prerequisity for bumping libressl?
If so, can we upgrade to 2.7.2 please?
Thanks for the stable/devel correction. According to the homepage, 2.7.2 is the "stable" one now, meaning "what is in the latest OpenBSD release"; there is no "devel" release. Would it make more sense then to upgrade libressl (as opposed to libressl-devel)?
Staying with 2.5.5 < 2.7.2, we are really missing out.
comment:15 Changed 7 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Replying to janstary:
If we do upgrade, the dependent ports need to be rebuilt, obviously. But that's imho a very weak reason not to upgrade. There are ports that can drop their OpenSSl/LibreSSL patch now. Isn't that the issue we have with LibreSSL in general?
No, I don't think anyone feels that patching is a problem. The problem is that Libressl and OpenSSL are ABI incompatible (heck, OpenSSL is not ABI compatible with OpenSSL and ditto for Libressl with itself), and we don't have a good solution in place for installing multiple versions. Combined with deep dependencies that make rev-upgrade impossible to solve, this makes changing the ABIs quite problematic.
The fact that we have not yet figured out the right way for OpenSSL, LibreSSL, WolfSSL etc to coexist in general is not a reason to not upgrade: we are no worse off in that regard with 2.7.2 than 2.5.5 (or any other version of any of the others, for that matter).
Correct, we're no worse off with 2.7.2 vs 2.5.5 aside from the fact that everyone using it will go through tremendous pain trying to rev-upgrade. That's what I want to avoid. I want to make everyone go through that pain just one more time (when we fix #54744).
As for the libressl and libressl-devel: LibreSSL itself makes no distinction between a "stable release" or a "devel releaae". That's entirely ours (i.e. Jeremy's :-).
That's not entirely true (as pointed out above). However, one of the major reasons for the -devel port has more or less gone away. For the first few years of its life, Libressl was dropping more and more legacy APIs between releases, so it made sense to test that out in -devel to ensure no major problems and address them before moving to the stable port..
I undrstand the desire to have the "bleeding edge" separated, so that you can install either the latest or the previous (typically). But our libressl is 2.5.5 and our libressl-devel is 2.6.2; that is, they are both behind.
Yes, because those were the versions in place when #54744 was brought up, so we decided to leave them there while someone worked on a solution to that problem. However, nobody has solved that yet, and I haven't had any time to devote to it either =/.
Replying to janstary:
OK, do we agree that figuring out #54744 is not a prerequisity for bumping libressl?
If so, can we upgrade to 2.7.2 please?
I'm happy to bump libressl-devel since more people opt into the rev-upgrade pain in using the -devel port.
Thanks for the stable/devel correction. According to the homepage, 2.7.2 is the "stable" one now, meaning "what is in the latest OpenBSD release"; there is no "devel" release. Would it make more sense then to upgrade libressl (as opposed to libressl-devel)?
No, because I want to avoid inflicting rev-upgrade pain on users of the libressl port.
Staying with 2.5.5 < 2.7.2, we are really missing out.
I agree, and hopefully that encourages some folks to take a look at #54744, so we can install these ports in parallel and configure which libssl is used on a per-port basis.
comment:16 Changed 7 years ago by janstary (Jan Starý)
comment:17 Changed 6 years ago by l2dy (Zero King)
Keywords: | security added |
---|---|
Summary: | libressl @2.5.5: update to 2.6.4 → libressl @2.5.5: update to 2.6.5 |
https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.6.5-relnotes.txt
We have released LibreSSL 2.6.5, a security update for the 2.6.x series. It contains the following changes:
- Avoid a timing side-channel leak when generating DSA and ECDSA signatures. This is caused by an attempt to do fast modular arithmetic, which introduces branches that leak information regarding secret values. Issue identified and reported by Keegan Ryan of NCC Group.
- Reject excessively large primes in DH key generation. Problem reported by Guido Vranken to OpenSSL (https://github.com/openssl/openssl/pull/6457) and based on his diff.
comment:18 follow-up: 19 Changed 6 years ago by l2dy (Zero King)
Rev-upgrade rebuilding all dependents is painful. But IMHO, holding known security fixes off for so long is worse.
comment:19 Changed 6 years ago by jamie-arcc (Michael James "Jamie" Schnaitter)
Replying to l2dy:
Rev-upgrade rebuilding all dependents is painful. But IMHO, holding known security fixes off for so long is worse.
I fully agree with this sentiment. A library like this is crucial for security in a lot of areas and really needs to be kept up to date in order to avoid holes in our systems. At this point, I think holding off on the upgrade is causing more headache overall than just getting it over with. It may be quite a long time before anyone agrees on anything in #54744
I would also maybe modify the title of this issue to reflect that 2.6.5 is itself out of date and probably undesirable now, as well as possibly upgrading the priority since this is a potential security threat.
comment:20 follow-up: 21 Changed 6 years ago by TP75
Please be aware there is a port libressl-devel available in MacPorts for some time already. To my knowledge there is a sufficient amount of ports which compile nicely with libressl-devel @2.8.1 and IMHO one should give it a try before mainly complaining. Notwithstanding any security discussions there is always the chance for everybody for contributing to MacPorts or to provide some portfile development in support of the volunteers and maintainers.
One may have a look at https://www.libressl.org/releases.html
- LibreSSL 2.8.2 (October 18th, 2018)
- LibreSSL 2.6.5, 2.7.4 (June 13th, 2018)
Unfortunately, MacPorts current ports are somewhat outdated:
- libressl @2.5.5
- libressl-devel @2.8.1
However, I would like to thank the maintainers for the good work and for providing the libressl-devel port certainly.
comment:21 Changed 6 years ago by TP75
Replying to TP75:
Please be aware there is a port libressl-devel available in MacPorts for some time already. To my knowledge there is a sufficient amount of ports which compile nicely with libressl-devel @2.8.1 and IMHO one should give it a try before mainly complaining. Notwithstanding any security discussions there is always the chance for everybody for contributing to MacPorts or to provide some portfile development in support of the volunteers and maintainers.
You may find the pull-request libressl-devel: update to 2.8.2 #3056 as my first contribution.
comment:22 Changed 6 years ago by TP75 <31193257+TP75@…>
comment:23 Changed 6 years ago by l2dy (Zero King)
Replying to jeremyhu:
Yes, I wanted to hold off on doing any libressl update until we came to a solution for #54744 because it's always a PITA to revvupgrade-rebuild everything ;)
It's been more than a year since the last libressl
update. We really shouldn't hold this off much longer.
Credits: openSUSE-SU-2018:2597-1
This update for libressl to version 2.8.0 fixes the following issues:
Security issues fixed:
- CVE-2018-12434: Avoid a timing side-channel leak when generating DSA and ECDSA signatures. (
boo#1097779
)- Reject excessively large primes in DH key generation.
- CVE-2018-8970: Fixed a bug in int_x509_param_set_hosts, calling strlen() if name length provided is 0 to match the OpenSSL behaviour. (
boo#1086778
)- Fixed an out-of-bounds read and crash in DES-fcrypt (
boo#1065363
)
comment:24 Changed 6 years ago by l2dy (Zero King)
Summary: | libressl @2.5.5: update to 2.6.5 → libressl @2.5.5: update to 2.8.3 |
---|
comment:25 Changed 6 years ago by l2dy (Zero King)
Resolution: | → fixed |
---|---|
Status: | new → closed |
2.6.4 is out