** Description changed:

+ [Impact]
+ 
+  * When launching an Ubuntu release-upgrade through landscape-client, the
+    upgrade-tool fails GPG verification due to trusted apt key having changed
+    location as of 18.04 LTS.
+ 
+  * The proposed patch extends gpg lookup path to include all
+    /etc/apt/trusted.gpg.d/*.gpg files in addition to /etc/apt/trusted.gpg
+    when verifying the upgrade-tool signature.
+ 
+ [Test Case]
+ 
+  * Install and register the landscape-client against a landscape-server
+    on a series supporting an upgrade.
+ 
+  * Wait for it to sync up packages.
+ 
+  * On the computer packages page, there is a link at the bottom to request a
+    release upgrade of that machine, if a supported version is available.
+ 
+  * The upgrade fails and /var/log/landscape/release-upgrader.log will indicate
+    a failed gpg verification.
+ 
+ [Where problems could occur]
+ 
+  * One thing which has been considered in this fix is how someone could have
+    worked around the issue by re-creating the old key path. The fix covers
+    such a case by still reading the deprecated trusted.gpg file.
+ 
+  * Although some care has been taken to only load valid gpg keys from apt
+    trusted keychain, there could be unforeseen scenarios where invalid data
+    gets read from the keychain. In such a case, the strict nature of gpg would
+    reject the signature verification, thus being no worse than without the 
fix.
+ 
+  * The affected callsite is used for verifying the release-upgrader code prior
+    to running it. One bad thing which we could imagine with this code path is
+    falsely accepting an invalid file signature, which may create a security
+    issue. This would likely take shape of injecting a gpg key, without
+    having root access, in the search path.
+ 
+ [Other Info]
+ 
+  * There is no way to directly verify this issue on 20.10 Groovy and later
+    (without faking a release) due to the lack of upgrade path to a supported
+    LTS. The ubuntu-keyring package having the same file layout, the same
+    validation failure is however to be expected if left unpatched.
+ 
+ [Original description]
+ 
  Since bionic, ubuntu-keyring removed `/etc/apt/trusted.gpg` in favor of
  `/etc/apt/trusted.gpg.d/`
  
  This breaks signature verification for the upgrade-tool.
  Trying to release-upgrade through landscape yields a failure on signature 
check:
  
  2020-11-10 15:47:51,019 WARNING  [MainThread] Invalid signature for 
upgrade-tool tarball: /usr/bin/gpg failed (out='', err='gpg: keybox 
'/etc/apt/trusted.gpg' created
  gpg: Signature made Fri Oct 16 03:28:09 2020 UTC
  gpg:                using RSA key 3B4FE6ACC0B21F32
  gpg: Can't check signature: No public key

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1903776

Title:
  Changed ubuntu-keyring paths breaks upgrade to focal.

To manage notifications about this bug go to:
https://bugs.launchpad.net/landscape-client/+bug/1903776/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to