Hello Utkarsh, or anyone else affected,

Accepted openssh into impish-proposed. The package will build now and be
available at
https://launchpad.net/ubuntu/+source/openssh/1:8.4p1-6ubuntu2.1 in a few
hours, and then in the -proposed repository.

Please help us by testing this new package.  See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how
to enable and use -proposed.  Your feedback will aid us getting this
update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug,
mentioning the version of the package you tested, what testing has been
performed on the package and change the tag from verification-needed-
impish to verification-done-impish. If it does not fix the bug for you,
please add a comment stating that, and change the tag to verification-
failed-impish. In either case, without details of your testing we will
not be able to proceed.

Further information regarding the verification process can be found at
https://wiki.ubuntu.com/QATeam/PerformingSRUVerification .  Thank you in
advance for helping!

N.B. The updated package will be released to -updates after the bug(s)
fixed by this package have been verified and the package has been in
-proposed for a minimum of 7 days.

** Changed in: openssh (Ubuntu Impish)
       Status: New => Fix Committed

** Tags added: verification-needed verification-needed-impish

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to openssh in Ubuntu.
https://bugs.launchpad.net/bugs/1952421

Title:
  Issue on sshd finds correct private key for a certificate when using
  ssh-agent

Status in openssh package in Ubuntu:
  Fix Released
Status in openssh source package in Focal:
  New
Status in openssh source package in Hirsute:
  New
Status in openssh source package in Impish:
  Fix Committed

Bug description:
  Reported as https://bugzilla.mindrot.org/show_bug.cgi?id=3254 upstream

  [Impact]

   * HostCertificate and HostKeyAgent are not working together in sshd due 
     to a mismatched certificate's public key and private key. The function `  
`sshkey_equal_public()`` incorrectly compares the certificate's public 
    key with a private key, never finding a match. The impact is that sshd 
    cannot use said certificate *even though* its private key is indeed in 
    ssh-agent.

  * What it should do is compare the certificate's public key with a
  public key in `sensitive_data`.

  * Having this SRU-ed is a direct ask from one of the major cloud partners. 
    They are currently using a customised version of the package to work 
    around this issue, and we would like them to use a package directly from 
    our own archive.

   * Looping through sensitive_data.host_pubkeys[j] *instead* of 
     sensitive_data.host_keys[j] fixes the issue

  [https://github.com/openssh/openssh-portable/blob/V_8_4/sshd.c#L1936]

  /* Find matching private key */
   for (j = 0; j < options.num_host_key_files; j++) {
    if (sshkey_equal_public(key,
     sensitive_data.host_keys[j])) {
     sensitive_data.host_certificates[j] = key;
      break;
     }
   }

  vs.

  /* Find matching private key */
   for (j = 0; j < options.num_host_key_files; j++) {
    if (sshkey_equal_public(key,
     sensitive_data.host_pubkeys[j])) {
     sensitive_data.host_certificates[j] = key;
      break;
     }
   }
   

  [Test Plan]

   * Due to the empirical nature of this bug, the test is quite straight 
     forward. *Without* the fix, one cannot use certificates to authenticate 
     successfully (e.g. ``sshd -c /path/to/certificate.pem``)
     whereas with the fix (assuming the certificate matches a host key) you 
     can create a channel.
     
  [Where problems could occur]

   * This has already been fixed both upstream and in Jammy without issue. 
     However, if a regression where to happen it would probably be in one of 
     two ways:
       
       * A dependency/reverse-dependency issue stemming from the version 
         bump that will happen if this fix is ported. We mitigate this risk 
         by testing for these exact types of regression, 
         and by selecting carefully what to label this new version.
         
       * Accidentally breaking a set up that was made to work around this 
         bug in the first place. The risk of this is lower, as the most 
         likely fix is the one being implemented here anyway.  Though
         to mitigate this more we can describe exactly what is happening 
         with the fix in the changelog.

  
  This affects every version of openssh back until Focal, at least.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1952421/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to