-
Notifications
You must be signed in to change notification settings - Fork 725
Update Hackage root keys #11095
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Hackage root keys #11095
Conversation
|
This sounds like it should be backported to 3.14 and may warrant a point release in short order. I wonder if we should arrange for a point release containing only the key change for 3.12 as well? |
|
While Tikhon's key was added, it was not used to sign this year's root.json. Does that affect what's necessary here? |
|
When does this become relevant, then? I still suspect we need to update versions of cabal that are in use at that point. (Arguably 3.10.3 is also in use, or at least I still hear of people using it, but I'm not sure that's in a releaseable state.) Do we also need to tell people how to update their cabal config files since they have Hackage root keys in them? |
|
(I should go look at the other PR but I'm on a call now so it'll have to wait a bit.) |
|
I did not think it needed any action from the users, the previous PRs don't seem to mention that. |
|
David C. (my predecessor and last person to do this) wrote the following for the Pantry/Stack part of it when new keys were added:
Unless cabal is doing something very different, I think this holds? So it is worth backporting for robustness but is not super urgent? |
|
Okay, that sounds like it should be enough then. I was worried that the new key would cause rejections by the |
I think this is an understatement, I would say cabal-install-3.10 is still is in wide-spread use in many (really most) Linux distros. (Anyway 3.10.3 is still working.) However yesterday I discovered that all versions of cabal-install < 3.10 stopped working. :-(
Most obvious example is current Ubuntu 24.04 LTS which still ships 3.8. Is there documentation how to mitigate this? (without upgrading cabal-install) |
More precisely, even 3.10.1.0 stopped working, so all < 3.10.2. This means that in the past new keys were not backported to old versions of cabal-install. Was that deliberate? |
|
Yes, to be clear, this is not an issue with this pull-request. I purposefully ensured that the signers for this year were all key-holders from the last time the set of root keys were updated (> 2 years ago). This is actually an issue relating to the following PRs: We think there might be a mitigation in this case, but it does bring up the more general question: what is the backport strategy for security patches like these? To be ultra-clear here, part of the security strategy here is that it's going to be hard to rely on the same set of people acting as key signers for arbitrarily long periods of time, we need to be able to rotate people in/out. This issue demonstrates that even a 2 year lead time was insufficient. While we think there is a mitigation in this instance, we can't guarantee a mitigation next time. I'm happy for the HF to take on work that will help avoid this in the future. The patch I made for Debian (unclear if they're going to use it) was pretty easy to make, so maybe there needs to be a quick way to do a small key-holder-update release? |
https://hackage.haskell.org/package/cabal-install under "Distribution" section lists "Arch:3.8.1.0, Debian:3.0.0.0, Fedora:3.10.3.0, FreeBSD:1.22.6.0, LTSHaskell:3.12.1.0, NixOS:3.14.1.0, Stackage:3.14.1.1, openSUSE:3.10.3.0". All in all I believe it's imperative we restore old Cabal releases back to the working order. |
|
for the record, new root.json deployed so that means we're in, i believe, good shape for now. |
Hackage Security has one new key and one key needing removal. The new root.json should go live on hackage in the next week.
The new root.json is here: haskell-infra/hackage-root-keys#23 is you want to compare the key signatures.
See #9068 for a prior MR in this series.