-
Notifications
You must be signed in to change notification settings - Fork 3
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
error: importing RPMs: digest: SIGNATURE: NOT OK (was: SHA-1 signed RPMs (Chrome) on Silverblue 38) #408
Comments
This is currently tracked in https://bugs.chromium.org/p/chromium/issues/detail?id=1383526 . Maybe it will be resolved upstream in the meantime (or not). |
Looks like I can not reproduce this issue on F38. |
Maybe something changed here as I now get:
See also: https://discussion.fedoraproject.org/t/google-chrome-failed-update-due-to-signature-not-ok/83540 |
It isn't a Silverblue specific issue. This also happens in the Workstation edition (38).
|
Yes, this is not related to Silverblue at all. We've seen this in our RHEL CI last week as well. What happened is that Chromium rotated their signing keys, see https://chromium.googlesource.com/chromium/src/+/a09e77359c939913f6a84ae43ed81bea32f9b46e%5E%21/#F1 and https://chromium-review.googlesource.com/c/chromium/src/+/4404987, but I suspect that something went wrong there.. |
I think it's better to file a report in bugs.chromium.org. However, I don't want to use my personal account. D: |
Re-installing from the latest RPM might work (not tried yet):
|
But for Silverblue, is there a way to exclude a single package or repo from an upgrade command? |
People will probably emit gasps of horror at this, but you can always edit /etc/yum.repos.d/google-chrome.repo and set "gpgcheck=0". Then try again. Signing a package isn't magic. All it means is that the package is the same as when it was signed. In this case, since the public key and the package are provided by exactly the same website, the same entity is controlling both. If it's google, yippie. If it's a competent hacker who replaced both the package and the signing key, you'll never know. The only thing you're going to catch by comparing signatures is: 1] upgrade-preventing (but otherwise harmless) mistakes by the official release crew; and 2] incompetent hackers who replace either the package or the signing key but not both. Since we have confirmation through other channels that the answer is in fact behind door number 1, I don't feel that disabling the check places us in a substantially worse position than being unable to distinguish whether a successful signature verification was legitimate or a false positive. |
This worked for me, but I only did the |
If you don't re-install it at the end, you'll be stuck with a fixed version of the Google Chrome package. See https://discussion.fedoraproject.org/t/simplifying-updates-for-rpm-fusion-packages-and-other-packages-shipping-their-own-rpm-repos/30364 |
Another untested option would be to fetch the new public key used and replace the old one in the config and then update, which should come with the repo config and new signing key. I'll close this issue as while this only happens on rpm-ostree based systems, there is not much we can do to fix it. |
Just had this problem, too, trying to update fedora 38 on silverblue. Have chrome dev version installed |
If it is this one: https://flathub.org/apps/com.google.Chrome Two problems with that:
|
But Chrome dev Version is 116, updated a few days ago. I use it almost since I use Silverblue, and never had issues with it.
why should it? Google maintains the browser. |
But how can you know with certainty that the software is not modified? With RPMs there are some standardized checks and balances based on hashes and possibly signed tar files. Flatpaks that are not from the developer itself are just the wild west. Some are .deb files, some are Bash scripts extracting files. None is really standardized and automatically checked for inconsistencies. |
I was to fast, while the installing the RPM works, as you said to be able to update I did the uninstall RPM package step and trying to install it via repository, which does not work. It fails with the same error. |
Naaa. The flatpaks, which ship 3rd party binaries, are also key-checked from the originating upstream download site. No wild west here. Correct me if I'm wrong. |
A few weeks out and still facing this issue. I see this was filed with the Chromium team but can't find anything else. Still can't tell if someone at Google messed up the key signing or they are changing the way they are signing and rpm-ostree can't handle it. |
So this does not work as the new key (https://chromium.googlesource.com/chromium/src/+/main/chrome/installer/linux/common/rpm.include) is not available at https://dl.google.com/linux/linux_signing_key.pub which is what's used by the repo (https://chromium.googlesource.com/chromium/src/+/main/chrome/installer/linux/common/rpm.include#359):
Someone should ask them to update the list of key published at https://dl.google.com/linux/linux_signing_key.pub. I'm out of ideas for workarounds. I've moved to the Flatpak despite its problems (partial FIDO device support). |
We've found another potential fix:
|
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
I rebased today to Rawhide to check if this issue is resolved and I'm still running into it. From what I can tell, RPM does not support signing of packages with subkeys, which newer releases of Chrome are signed with by the team. The fix would be be for RPM (or RPM-ostree in this case) to add subkeys to supported signing methods, no? Edit: To be clear, I can create a toolbox and install chrome just fine with dnf (install RPM file, remove numbered package and install from repo by Edit2: I can also follow the instructions on https://google.com/linuxrepositories and verify the key in toolbox, but cannot in a normal silverblue terminal because it's not writable (of course being immutable). I wonder if this is due to something in RPM-ostree specifically, as the output in toolbox (RPM) adds the subkeys appropriately. Edit3: The toolbox version doesn't support FIDO2 login, but I was able to use webauthn on Yubico's website, so idk what's happening there. But anyway, this appears to me not to be an issue upstream with Google, as the subkey is there. The problem seems to be how RPM-ostree handles things signed with subkeys. Hopefully this helps people also looking at this issue. |
I successfully installed google-chrome-stable by removing
I know this is not the best option, but it worked. If someone know how I can restore the gpg key check, I will appreciate any help |
I agree |
This is also tracked in rpm-software-management/dnf#2080 and https://bugzilla.redhat.com/show_bug.cgi?id=2274169 |
Updated issue text
See: #408 (comment)
See also: https://discussion.fedoraproject.org/t/google-chrome-failed-update-due-to-signature-not-ok/83540
Original issue text
Describe the bug
SHA-1 signed RPMs will likely trigger failures on Fedora Silverblue 38.
See: https://www.scrye.com/wordpress/nirik/2023/01/31/error-rpmdbnextiterator-skipping-in-fedora-38/
To Reproduce
Please describe the steps needed to reproduce the bug:
rpm-ostree install
--
Needs to be investigated to see if the workaround from https://www.scrye.com/wordpress/nirik/2023/01/31/error-rpmdbnextiterator-skipping-in-fedora-38/ works with rpm-ostree as well or if we need something else.
The text was updated successfully, but these errors were encountered: