dwww Home | Show directory contents | Find package

openssh (1:9.2p1-2+deb12u2) bookworm-security; urgency=medium

  * Cherry-pick from upstream:
    - [CVE-2023-28531] ssh-add(1): when adding smartcard keys to
      ssh-agent(1) with the per-hop destination constraints (ssh-add -h ...)
      added in OpenSSH 8.9, a logic error prevented the constraints from
      being communicated to the agent. This resulted in the keys being added
      without constraints. The common cases of non-smartcard keys and keys
      without destination constraints are unaffected. This problem was
      reported by Luci Stanescu (closes: #1033166).
    - [CVE-2023-48795] ssh(1), sshd(8): implement protocol extensions to
      thwart the so-called "Terrapin attack" discovered by Fabian Bäumer,
      Marcus Brinkmann and Jörg Schwenk. This attack allows a MITM to effect
      a limited break of the integrity of the early encrypted SSH transport
      protocol by sending extra messages prior to the commencement of
      encryption, and deleting an equal number of consecutive messages
      immediately after encryption starts. A peer SSH client/server would
      not be able to detect that messages were deleted.
    - [CVE-2023-51384] ssh-agent(1): when adding PKCS#11-hosted private keys
      while specifying destination constraints, if the PKCS#11 token
      returned multiple keys then only the first key had the constraints
      applied. Use of regular private keys, FIDO tokens and unconstrained
      keys are unaffected.
    - [CVE-2023-51385] ssh(1): if an invalid user or hostname that contained
      shell metacharacters was passed to ssh(1), and a ProxyCommand,
      LocalCommand directive or "match exec" predicate referenced the user
      or hostname via %u, %h or similar expansion token, then an attacker
      who could supply arbitrary user/hostnames to ssh(1) could potentially
      perform command injection depending on what quoting was present in the
      user-supplied ssh_config(5) directive. ssh(1) now bans most shell
      metacharacters from user and hostnames supplied via the command-line.

 -- Colin Watson <cjwatson@debian.org>  Tue, 19 Dec 2023 14:51:56 +0000

openssh (1:9.2p1-2+deb12u1) bookworm; urgency=medium

  * Cherry-pick from OpenSSH 9.3p2:
    - [CVE-2023-38408] Fix a condition where specific libraries loaded via
      ssh-agent(1)'s PKCS#11 support could be abused to achieve remote code
      execution via a forwarded agent socket (closes: #1042460).

 -- Colin Watson <cjwatson@debian.org>  Sat, 23 Sep 2023 23:11:33 +0100

openssh (1:9.2p1-2) unstable; urgency=medium

  * Fix mistakenly-unreleased entry for 1:9.2p1-1 in debian/NEWS.

 -- Colin Watson <cjwatson@debian.org>  Wed, 08 Feb 2023 10:43:07 +0000

openssh (1:9.2p1-1) unstable; urgency=medium

  * Set "UsePAM yes" when running regression tests, to match our default
    sshd configuration.
  * Ignore Lintian error about depending on lsb-base for now, to avoid
    problems with partial upgrades on non-default init systems.
  * New upstream release (https://www.openssh.com/releasenotes.html#9.2p1):
    - [SECURITY] sshd(8): fix a pre-authentication double-free memory fault
      introduced in OpenSSH 9.1. This is not believed to be exploitable, and
      it occurs in the unprivileged pre-auth process that is subject to
      chroot(2) and is further sandboxed on most major platforms.
    - [SECURITY] ssh(8): in OpenSSH releases after 8.7, the PermitRemoteOpen
      option would ignore its first argument unless it was one of the
      special keywords "any" or "none", causing the permission list to fail
      open if only one permission was specified.
    - [SECURITY] ssh(1): if the CanonicalizeHostname and
      CanonicalizePermittedCNAMEs options were enabled, and the system/libc
      resolver did not check that names in DNS responses were valid, then
      use of these options could allow an attacker with control of DNS to
      include invalid characters (possibly including wildcards) in names
      added to known_hosts files when they were updated. These names would
      still have to match the CanonicalizePermittedCNAMEs allow-list, so
      practical exploitation appears unlikely.
    - ssh(1): add a new EnableEscapeCommandline ssh_config(5) option that
      controls whether the client-side ~C escape sequence that provides a
      command-line is available. Among other things, the ~C command-line
      could be used to add additional port-forwards at runtime. This option
      defaults to "no", disabling the ~C command-line that was previously
      enabled by default.
    - sshd(8): add support for channel inactivity timeouts via a new
      sshd_config(5) ChannelTimeout directive. This allows channels that
      have not seen traffic in a configurable interval to be automatically
      closed. Different timeouts may be applied to session, X11, agent and
      TCP forwarding channels.
    - sshd(8): add a sshd_config UnusedConnectionTimeout option to terminate
      client connections that have no open channels for a length of time.
      This complements the ChannelTimeout option above.
    - sshd(8): add a -V (version) option to sshd like the ssh client has.
    - ssh(1): add a "Host" line to the output of ssh -G showing the original
      hostname argument. bz3343
    - scp(1), sftp(1): add a -X option to both scp(1) and sftp(1) to allow
      control over some SFTP protocol parameters: the copy buffer length and
      the number of in-flight requests, both of which are used during
      upload/download. Previously these could be controlled in sftp(1) only.
      This makes them available in both SFTP protocol clients using the same
      option character sequence.
    - ssh-keyscan(1): allow scanning of complete CIDR address ranges, e.g.
      "ssh-keyscan 192.168.0.0/24". If a CIDR range is passed, then it will
      be expanded to all possible addresses in the range including the
      all-0s and all-1s addresses.
    - ssh(1): support dynamic remote port forwarding in escape
      command-line's -R processing.
    - ssh(1): when restoring non-blocking mode to stdio fds, restore exactly
      the flags that ssh started with and don't just clobber them with zero,
      as this could also remove the append flag from the set.
    - ssh(1): avoid printf("%s", NULL) if using UserKnownHostsFile=none and
      a hostkey in one of the system known hosts file changes.
    - scp(1): switch scp from using pipes to a socket-pair for communication
      with its ssh sub-processes, matching how sftp(1) operates.
    - sshd(8): clear signal mask early in main(); sshd may have been started
      with one or more signals masked (sigprocmask(2) is not cleared on
      fork/exec) and this could interfere with various things, e.g. the
      login grace timer. Execution environments that fail to clear the
      signal mask before running sshd are clearly broken, but apparently
      they do exist.
    - ssh(1): warn if no host keys for hostbased auth can be loaded.
    - sshd(8): Add server debugging for hostbased auth that is queued and
      sent to the client after successful authentication, but also logged to
      assist in diagnosis of HostbasedAuthentication problems.
    - ssh(1): document use of the IdentityFile option as being usable to
      list public keys as well as private keys.
    - sshd(8): check for and disallow MaxStartups values less than or equal
      to zero during config parsing, rather than failing later at runtime.
    - ssh-keygen(1): fix parsing of hex cert expiry times specified on the
      command-line when acting as a CA.
    - scp(1): when scp(1) is using the SFTP protocol for transport (the
      default), better match scp/rcp's handling of globs that don't match
      the globbed characters but do match literally (e.g. trying to transfer
      a file named "foo.[1]"). Previously scp(1) in SFTP mode would not
      match these pathnames but legacy scp/rcp mode would.
    - ssh-agent(1): document the "-O no-restrict-websafe" command-line
      option.
    - ssh(1): honour user's umask(2) if it is more restrictive then the ssh
      default (022).
    - sshd(8): allow writev(2) in the Linux seccomp sandbox. This seems to
      be used by recent glibcs at least in some configurations during error
      conditions.
    - sshd(8): simplify handling of SSH_CONNECTION PAM env var, removing
      global variable and checking the return value from pam_putenv.
    - sshd(8): disable SANDBOX_SECCOMP_FILTER_DEBUG that was mistakenly
      enabled during the OpenSSH 9.1 release cycle.
    - sshd(8): defer PRNG seeding until after the initial closefrom(2) call.
      PRNG seeding will initialize OpenSSL, and some engine providers (e.g.
      Intel's QAT) will open descriptors for their own use that closefrom(2)
      could clobber.
  * debian/run-tests: Add a little more flexibility for debugging.

 -- Colin Watson <cjwatson@debian.org>  Wed, 08 Feb 2023 10:36:06 +0000

openssh (1:9.1p1-2) unstable; urgency=medium

  [ Christian Göttsche ]
  * Do not copy SELinux security context in postinst.

  [ Colin Watson ]
  * Add missing ${misc:Depends} to Depends for openssh-client-udeb,
    openssh-server-udeb.
  * Use secure URI in Homepage field.
  * Remove 2 obsolete maintscript entries in 2 files.
  * Fix day-of-week for changelog entries 1:3.0.2p1-9, 1:3.0.2p1-2,
    1:3.0.1p1-1.
  * Remove deprecated Encoding key from desktop file
    debian/ssh-askpass-gnome.desktop.
  * Update standards version to 4.6.2, no changes needed.
  * debian/tests/regress: Adjust to cope with changes in adduser 3.130 (see
    #625758).

 -- Colin Watson <cjwatson@debian.org>  Tue, 03 Jan 2023 11:57:19 +0000

openssh (1:9.1p1-1) unstable; urgency=medium

  [ Markus Teich ]
  * Delete obsolete upstart configuration override.

  [ Colin Watson ]
  * Work around apparent dh-exec regressions (closes: #1016340).
  * Don't install unnecessary *.lo files in openssh-tests.
  * Update Lintian overrides to current syntax.
  * Pass on compiler/linker flags when building debian/keygen-test.
  * Remove obsolete and misleading rcp/rlogin/rsh alternatives, and stop
    providing rsh-client (closes: #197037).
  * Add sshd_config checksums for 1:8.2p1-1 and 1:8.7p1-1 to ucf reference
    file.
  * New upstream release (https://www.openssh.com/releasenotes.html#9.1p1,
    closes: #1021585):
    - ssh-keyscan(1): fix a one-byte overflow in SSH- banner processing.
    - ssh-keygen(1): double free() in error path of file hashing step in
      signing/verify code.
    - ssh-keysign(8): double-free in error path introduced in openssh-8.9.
    - ssh(1), sshd(8): SetEnv directives in ssh_config and sshd_config are
      now first-match-wins to match other directives. Previously if an
      environment variable was multiply specified the last set value would
      have been used.
    - ssh-keygen(8): ssh-keygen -A (generate all default host key types)
      will no longer generate DSA keys, as these are insecure and have not
      been used by default for some years.
    - ssh(1), sshd(8): add a RequiredRSASize directive to set a minimum RSA
      key length. Keys below this length will be ignored for user
      authentication and for host authentication in sshd(8). ssh(1) will
      terminate a connection if the server offers an RSA key that falls
      below this limit, as the SSH protocol does not include the ability to
      retry a failed key exchange.
    - sftp-server(8): add a "users-groups-by-id@openssh.com" extension
      request that allows the client to obtain user/group names that
      correspond to a set of uids/gids.
    - sftp(1): use "users-groups-by-id@openssh.com" sftp-server extension
      (when available) to fill in user/group names for directory listings.
    - sftp-server(8): support the "home-directory" extension request defined
      in draft-ietf-secsh-filexfer-extensions-00. This overlaps a bit with
      the existing "expand-path@openssh.com", but some other clients support
      it.
    - ssh-keygen(1), sshd(8): allow certificate validity intervals, sshsig
      verification times and authorized_keys expiry-time options to accept
      dates in the UTC time zone in addition to the default of interpreting
      them in the system time zone. YYYYMMDD and YYMMDDHHMM[SS] dates/times
      will be interpreted as UTC if suffixed with a 'Z' character. Also
      allow certificate validity intervals to be specified in raw
      seconds-since-epoch as hex value, e.g. -V 0x1234:0x4567890. This is
      intended for use by regress tests and other tools that call ssh-keygen
      as part of a CA workflow.
    - sftp(1): allow arguments to the sftp -D option, e.g. sftp -D
      "/usr/libexec/sftp-server -el debug3".
    - ssh-keygen(1): allow the existing -U (use agent) flag to work with "-Y
      sign" operations, where it will be interpreted to require that the
      private keys is hosted in an agent.
    - ssh-keygen(1): implement the "verify-required" certificate option.
      This was already documented when support for user-verified FIDO keys
      was added, but the ssh-keygen(1) code was missing.
    - ssh-agent(1): hook up the restrict_websafe command-line flag;
      previously the flag was accepted but never actually used.
    - sftp(1): improve filename tab completions: never try to complete names
      to non-existent commands, and better match the completion type (local
      or remote filename) against the argument position being completed.
    - ssh-keygen(1), ssh(1), ssh-agent(1): several fixes to FIDO key
      handling, especially relating to keys that request user-verification.
      These should reduce the number of unnecessary PIN prompts for keys
      that support intrinsic user verification.
    - ssh-keygen(1): when enrolling a FIDO resident key, check if a
      credential with matching application and user ID strings already
      exists and, if so, prompt the user for confirmation before overwriting
      the credential.
    - sshd(8): improve logging of errors when opening authorized_keys files.
    - ssh(1): avoid multiplexing operations that could cause SIGPIPE from
      causing the client to exit early.
    - ssh_config(5), sshd_config(5): clarify that the RekeyLimit directive
      applies to both transmitted and received data.
    - ssh-keygen(1): avoid double fclose() in error path.
    - sshd(8): log an error if pipe() fails while accepting a connection.
    - ssh-keyscan(1): add missing *-sk types to ssh-keyscan manpage.
    - sshd(8): ensure that authentication passwords are cleared from memory
      in error paths.
    - ssh(1), ssh-agent(1): avoid possibility of notifier code executing
      kill(-1).
    - ssh_config(5): note that the ProxyJump directive also accepts the same
      tokens as ProxyCommand.
    - scp(1): do not ftruncate(3) files early when in sftp mode. The
      previous behaviour of unconditionally truncating the destination file
      would cause "scp ~/foo localhost:foo" and the reverse "scp
      localhost:foo ~/foo" to delete all the contents of their destination.
    - ssh-keygen(1): improve error message when 'ssh-keygen -Y sign' is
      unable to load a private key.
    - sftp(1), scp(1): when performing operations that glob(3) a remote
      path, ensure that the implicit working directory used to construct
      that path escapes glob(3) characters. This prevents glob characters
      from being processed in places they shouldn't, e.g. "cd /tmp/a*/",
      "get *.txt" should have the get operation treat the path "/tmp/a*"
      literally and not attempt to expand it (LP: #1483751).
    - ssh(1), sshd(8): be stricter in which characters will be accepted in
      specifying a mask length; allow only 0-9.
    - ssh-keygen(1): avoid printing hash algorithm twice when dumping a KRL.
    - ssh(1), sshd(8): continue running local I/O for open channels during
      SSH transport rekeying. This should make ~-escapes work in the client
      (e.g. to exit) if the connection happened to have stalled during a
      rekey event.
    - ssh(1), sshd(8): avoid potential poll() spin during rekeying.
    - Further hardening for sshbuf internals: disallow "reparenting" a
      hierarchical sshbuf and zero the entire buffer if reallocation fails.
    - sshd(8): add AUDIT_ARCH_PPC to supported seccomp sandbox
      architectures.
  * Drop patch to work around https://twistedmatrix.com/trac/ticket/9765,
    since the fix for that is in Debian testing.
  * Rewrite gnome-ssh-askpass(1) manual page using mdoc macros, and flesh it
    out a bit more.

  [ Steve Langasek ]
  * Support systemd socket activation.  Migrate any existing inetd-style
    socket activation to systemd socket activation.

  [ Gioele Barabucci ]
  * Remove ancient version constraints.
  * d/openssh-server.{postinst,config}: get_config_option: Replace perl with
    sed.

 -- Colin Watson <cjwatson@debian.org>  Mon, 14 Nov 2022 16:25:45 +0000

openssh (1:9.0p1-1) unstable; urgency=medium

  * New upstream release (https://www.openssh.com/releasenotes.html#9.0p1):
    - scp(1): Use the SFTP protocol by default (closes: #144579, #204546,
      #327019). This changes scp's quoting semantics by no longer performing
      wildcard expansion using the remote shell, and (with some server
      versions) no longer expanding ~user paths. The -O option is available
      to use the old protocol. See NEWS.Debian for more details.
    - ssh(1), sshd(8): use the hybrid Streamlined NTRU Prime + x25519 key
      exchange method by default ("sntrup761x25519-sha512@openssh.com").
      The NTRU algorithm is believed to resist attacks enabled by future
      quantum computers and is paired with the X25519 ECDH key exchange (the
      previous default) as a backstop against any weaknesses in NTRU Prime
      that may be discovered in the future. The combination ensures that the
      hybrid exchange offers at least as good security as the status quo.
    - sftp-server(8): support the "copy-data" extension to allow server-
      side copying of files/data, following the design in
      draft-ietf-secsh-filexfer-extensions-00.
    - sftp(1): add a "cp" command to allow the sftp client to perform
      server-side file copies.
    - ssh(1), sshd(8): upstream: fix poll(2) spin when a channel's output fd
      closes without data in the channel buffer (closes: #1007822).
    - sshd(8): pack pollfd array in server listen/accept loop. Could cause
      the server to hang/spin when MaxStartups > RLIMIT_NOFILE.
    - ssh-keygen(1): avoid NULL deref via the find-principals and
      check-novalidate operations. bz3409 and GHPR307 respectively.
    - scp(1): fix a memory leak in argument processing.
    - sshd(8): don't try to resolve ListenAddress directives in the sshd
      re-exec path. They are unused after re-exec and parsing errors
      (possible for example if the host's network configuration changed)
      could prevent connections from being accepted.
    - sshd(8): when refusing a public key authentication request from a
      client for using an unapproved or unsupported signature algorithm
      include the algorithm name in the log message to make debugging
      easier.
    - ssh(1), sshd(8): Fix possible integer underflow in scan_scaled(3)
      parsing of K/M/G/etc quantities.
    - sshd(8): default to not using sandbox when cross compiling. On most
      systems poll(2) does not work when the number of FDs is reduced with
      setrlimit, so assume it doesn't when cross compiling and we can't run
      the test.
  * Remove obsolete FAQ, removed from openssh.com in 2016.

 -- Colin Watson <cjwatson@debian.org>  Sat, 09 Apr 2022 14:14:10 +0100

openssh (1:8.9p1-3) unstable; urgency=medium

  * Allow ppoll_time64 in seccomp filter (closes: #1006445).

 -- Colin Watson <cjwatson@debian.org>  Fri, 25 Feb 2022 23:30:49 +0000

openssh (1:8.9p1-2) unstable; urgency=medium

  * Improve detection of -fzero-call-used-regs=all support.

 -- Colin Watson <cjwatson@debian.org>  Thu, 24 Feb 2022 16:09:56 +0000

openssh (1:8.9p1-1) unstable; urgency=medium

  * New upstream release (https://www.openssh.com/releasenotes.html#8.9p1):
    - sshd(8): fix an integer overflow in the user authentication path that,
      in conjunction with other logic errors, could have yielded
      unauthenticated access under difficult to exploit conditions.
    - sshd(8), portable OpenSSH only: this release removes in-built support
      for MD5-hashed passwords.
    - ssh(1), sshd(8), ssh-add(1), ssh-agent(1): add a system for
      restricting forwarding and use of keys added to ssh-agent(1).
    - ssh(1), sshd(8): add the sntrup761x25519-sha512@openssh.com hybrid
      ECDH/x25519 + Streamlined NTRU Prime post-quantum KEX to the default
      KEXAlgorithms list (after the ECDH methods but before the prime-group
      DH ones). The next release of OpenSSH is likely to make this key
      exchange the default method.
    - ssh-keygen(1): when downloading resident keys from a FIDO token, pass
      back the user ID that was used when the key was created and append it
      to the filename the key is written to (if it is not the default).
      Avoids keys being clobbered if the user created multiple resident keys
      with the same application string but different user IDs.
    - ssh-keygen(1), ssh(1), ssh-agent(1): better handling for FIDO keys on
      tokens that provide user verification (UV) on the device itself,
      including biometric keys, avoiding unnecessary PIN prompts.
    - ssh-keygen(1): add "ssh-keygen -Y match-principals" operation to
      perform matching of principals names against an allowed signers file.
      To be used towards a TOFU model for SSH signatures in git.
    - ssh-add(1), ssh-agent(1): allow pin-required FIDO keys to be added to
      ssh-agent(1). $SSH_ASKPASS will be used to request the PIN at
      authentication time.
    - ssh-keygen(1): allow selection of hash at sshsig signing time (either
      sha512 (default) or sha256).
    - ssh(1), sshd(8): read network data directly to the packet input buffer
      instead indirectly via a small stack buffer. Provides a modest
      performance improvement.
    - ssh(1), sshd(8): read data directly to the channel input buffer,
      providing a similar modest performance improvement.
    - ssh(1): extend the PubkeyAuthentication configuration directive to
      accept yes|no|unbound|host-bound to allow control over one of the
      protocol extensions used to implement agent-restricted keys.
    - sshd(8): document that CASignatureAlgorithms, ExposeAuthInfo and
      PubkeyAuthOptions can be used in a Match block.
    - sshd(8): fix possible string truncation when constructing paths to
      .rhosts/.shosts files with very long user home directory names.
    - ssh-keysign(1): unbreak for KEX algorithms that use SHA384/512
      exchange hashes.
    - ssh(1): don't put the TTY into raw mode when SessionType=none, avoids
      ^C being unable to kill such a session.
    - scp(1): fix some corner-case bugs in SFTP-mode handling of ~-prefixed
      paths.
    - ssh(1): unbreak hostbased auth using RSA keys. Allow ssh(1) to select
      RSA keys when only RSA/SHA2 signature algorithms are configured (this
      is the default case). Previously RSA keys were not being considered in
      the default case.
    - ssh-keysign(1): make ssh-keysign use the requested signature algorithm
      and not the default for the key type. Part of unbreaking hostbased
      auth for RSA/SHA2 keys.
    - ssh(1): stricter UpdateHostkey signature verification logic on the
      client-side. Require RSA/SHA2 signatures for RSA hostkeys except when
      RSA/SHA1 was explicitly negotiated during initial KEX.
    - ssh(1), sshd(8): fix signature algorithm selection logic for
      UpdateHostkeys on the server side. The previous code tried to prefer
      RSA/SHA2 for hostkey proofs of RSA keys, but missed some cases. This
      will use RSA/SHA2 signatures for RSA keys if the client proposed these
      algorithms in initial KEX.
    - All: convert all uses of select(2)/pselect(2) to poll(2)/ppoll(2).
      This includes the mainloops in ssh(1), ssh-agent(1), ssh-agent(1) and
      sftp-server(8), as well as the sshd(8) listen loop and all other FD
      read/writability checks. On platforms with missing or broken
      poll(2)/ppoll(2) syscalls a select(2)-based compat shim is available.
    - ssh-keygen(1): the "-Y find-principals" command was verifying key
      validity when using ca certs but not with simple key lifetimes within
      the allowed signers file.
    - ssh-keygen(1): make sshsig verify-time argument parsing optional.
    - sshd(8): fix truncation in rhosts/shosts path construction.
    - ssh(1), ssh-agent(1): avoid xmalloc(0) for PKCS#11 keyid for ECDSA
      keys (we already did this for RSA keys). Avoids fatal errors for
      PKCS#11 libraries that return empty keyid, e.g. Microchip ATECC608B
      "cryptoauthlib".
    - ssh(1), ssh-agent(1): improve the testing of credentials against
      inserted FIDO: ask the token whether a particular key belongs to it in
      cases where the token supports on-token user-verification (e.g.
      biometrics) rather than just assuming that it will accept it. Will
      reduce spurious "Confirm user presence" notifications for key handles
      that relate to FIDO keys that are not currently inserted in at least
      some cases.
    - ssh(1), sshd(8): correct value for IPTOS_DSCP_LE. It needs to allow
      for the preceding two ECN bits.
    - ssh-keygen(1): add missing -O option to usage() for the "-Y sign"
      option.
    - ssh-keygen(1): fix a NULL deref when using the find-principals
      function, when matching an allowed_signers line that contains a
      namespace restriction, but no restriction specified on the
      command-line
    - ssh-agent(1): fix memleak in process_extension().
    - ssh(1): suppress "Connection to xxx closed" messages when LogLevel is
      set to "error" or above.
    - ssh(1), sshd(8): use correct zlib flags when inflate(3)-ing compressed
      packet data.
    - scp(1): when recursively transferring files in SFTP mode, create the
      destination directory if it doesn't already exist to match scp(1) in
      legacy RCP mode behaviour.
    - scp(1): many improvements in error message consistency between scp(1)
      in SFTP mode vs legacy RCP mode.
    - sshd(8): fix potential race in SIGTERM handling.
    - ssh(1), ssh(8): since DSA keys are deprecated, move them to the end of
      the default list of public keys so that they will be tried last.
    - ssh-keygen(1): allow 'ssh-keygen -Y find-principals' to match wildcard
      principals in allowed_signers files.
    - ssh(1), sshd(8): don't trust closefrom(2) on Linux. glibc's
      implementation does not work in a chroot when the kernel does not have
      close_range(2). It tries to read from /proc/self/fd and when that
      fails dies with an assertion of sorts. Instead, call close_range(2)
      directly from our compat code and fall back if that fails.
    - Correct handling of exceptfds/POLLPRI in our select(2)-based
      poll(2)/ppoll(2) compat implementation.
  * Drop patch to work around https://twistedmatrix.com/trac/ticket/9515,
    since the fix for that is in Debian stable.

 -- Colin Watson <cjwatson@debian.org>  Thu, 24 Feb 2022 11:06:15 +0000

openssh (1:8.8p1-1) unstable; urgency=medium

  * New upstream release (https://www.openssh.com/releasenotes.html#8.8p1,
    closes: #996391):
    - This release disables RSA signatures using the SHA-1 hash algorithm by
      default.  (Existing RSA keys may still be used and do not need to be
      replaced; see NEWS.Debian if you have problems connecting to old SSH
      servers.)
    - ssh(1): allow the ssh_config(5) CanonicalizePermittedCNAMEs directive
      to accept a "none" argument to specify the default behaviour.
    - scp(1): when using the SFTP protocol, continue transferring files
      after a transfer error occurs, better matching original scp/rcp
      behaviour.
    - ssh(1): fixed a number of memory leaks in multiplexing,
    - ssh-keygen(1): avoid crash when using the -Y find-principals command.
    - A number of documentation and manual improvements.
    - ssh(1)/sshd(8): some fixes to the pselect(2) replacement compatibility
      code.
  * Work around missing RSA SHA-2 signature support in conch until the
    upstream fix lands in Debian.

 -- Colin Watson <cjwatson@debian.org>  Tue, 15 Feb 2022 19:20:21 +0000

openssh (1:8.7p1-4) unstable; urgency=medium

  [ Daniel Baumann ]
  * Fix typo in openssh-client.alternatives (closes: #1002803).

  [ Colin Watson ]
  * Further clarify socket activation instructions.

 -- Colin Watson <cjwatson@debian.org>  Wed, 29 Dec 2021 12:08:38 +0000

openssh (1:8.7p1-3) unstable; urgency=medium

  * Include unit test binaries in openssh-tests even if building with
    DEB_BUILD_OPTIONS=nocheck.
  * Install built version of sshd_config, with corrected PATH and PidFile.
  * Upgrade to debhelper v13.
  * debian/copyright: Use HTTPS in Source field.
  * Update renamed Lintian tag name in Lintian override.
  * debian/watch: Upgrade to version 4.
  * Clarify instructions for using socket activation to avoid accidental
    attempts to start the non-socket-activated service that can result in
    systems without a running sshd (closes: #1001320).
  * Remove maintainer script code for upgrades from before Debian 9.
  * Make the sysvinit script provide "ssh" as well as "sshd".
  * Set Rules-Requires-Root: no.
  * Use dh_installalternatives.
  * Simplify some debhelper overrides slightly.

 -- Colin Watson <cjwatson@debian.org>  Wed, 29 Dec 2021 01:12:00 +0000

openssh (1:8.7p1-2) unstable; urgency=medium

  * Backport from upstream:
    - Avoid NULL deref in -Y find-principals (closes: #999593).

 -- Colin Watson <cjwatson@debian.org>  Sat, 13 Nov 2021 13:40:50 +0000

openssh (1:8.7p1-1) unstable; urgency=medium

  * debian/upstream/signing-key.asc: Update from upstream.
  * New upstream release (https://www.openssh.com/releasenotes.html#8.7p1):
    - scp(1): this release changes the behaviour of remote to remote copies
      (e.g. "scp host-a:/path host-b:") to transfer through the local host
      by default (closes: #734386, LP: #1462758). This was previously
      available via the -3 flag. A -R flag has been added to select the old
      behaviour.
    - ssh(1)/sshd(8): both the client and server are now using a stricter
      configuration file parser.
    - ssh(1): when using SSHFP DNS records for host key verification, ssh(1)
      will verify all matching records instead of just those with the
      specific signature type requested.
    - ssh-keygen(1): when generating a FIDO key and specifying an explicit
      attestation challenge (using -Ochallenge), the challenge will now be
      hashed by the builtin security key middleware.
    - sshd(8): environment="..." directives in authorized_keys files are now
      first-match-wins and limited to 1024 discrete environment variable
      names.
    - scp(1): experimental support for transfers using the SFTP protocol as
      a replacement for the venerable SCP/RCP protocol that it has
      traditionally used. SFTP offers more predictable filename handling and
      does not require expansion of glob(3) patterns via the shell on the
      remote side.
      SFTP support may be enabled via a temporary scp -s flag. It is
      intended for SFTP to become the default transfer mode in the near
      future, at which time the -s flag will be removed. The -O flag exists
      to force use of the original SCP/RCP protocol for cases where SFTP may
      be unavailable or incompatible.
    - sftp-server(8): add a protocol extension to support expansion of ~/
      and ~user/ prefixed paths. This was added to support these paths when
      used by scp(1) while in SFTP mode.
    - ssh(1): add a ForkAfterAuthentication ssh_config(5) counterpart to the
      ssh(1) -f flag. GHPR231
    - ssh(1): add a StdinNull directive to ssh_config(5) that allows the
      config file to do the same thing as -n does on the ssh(1) command-
      line. GHPR231
    - ssh(1): add a SessionType directive to ssh_config, allowing the
      configuration file to offer equivalent control to the -N (no session)
      and -s (subsystem) command-line flags (closes: #609122).
    - ssh-keygen(1): allowed signers files used by ssh-keygen(1) signatures
      now support listing key validity intervals alongside they key, and
      ssh-keygen(1) can optionally check during signature verification
      whether a specified time falls inside this interval. This feature is
      intended for use by git to support signing and verifying objects using
      ssh keys.
    - ssh-keygen(8): support printing of the full public key in a sshsig
      signature via a -Oprint-pubkey flag.
    - ssh(1)/sshd(8): start time-based re-keying exactly on schedule in the
      client and server mainloops. Previously the re-key timeout could
      expire but re-keying would not start until a packet was sent or
      received, causing a spin in select() if the connection was quiescent.
    - ssh-keygen(1): avoid Y2038 problem in printing certificate validity
      lifetimes. Dates past 2^31-1 seconds since epoch were displayed
      incorrectly on some platforms.
    - scp(1): allow spaces to appear in usernames for local to remote and
      scp -3 remote to remote copies.
    - ssh(1)/sshd(8): remove references to ChallengeResponseAuthentication
      in favour of KbdInteractiveAuthentication. The former is what was in
      SSHv1, the latter is what is in SSHv2 (RFC4256) and they were treated
      as somewhat but not entirely equivalent. We retain the old name as a
      deprecated alias so configuration files continue to work as well as a
      reference in the man page for people looking for it.
    - ssh(1)/ssh-add(1)/ssh-keygen(1): fix decoding of X.509 subject name
      when extracting a key from a PKCS#11 certificate.
    - ssh(1): restore blocking status on stdio fds before close. ssh(1)
      needs file descriptors in non-blocking mode to operate but it was not
      restoring the original state on exit. This could cause problems with
      fds shared with other programs via the shell.
    - ssh(1)/sshd(8): switch both client and server mainloops from select(3)
      to pselect(3). Avoids race conditions where a signal may arrive
      immediately before select(3) and not be processed until an event
      fires.
    - ssh(1): sessions started with ControlPersist were incorrectly
      executing a shell when the -N (no shell) option was specified (closes:
      #762633).
    - ssh(1): check if IPQoS or TunnelDevice are already set before
      overriding. Prevents values in config files from overriding values
      supplied on the command line.
    - ssh(1): fix debug message when finding a private key to match a
      certificate being attempted for user authentication. Previously it
      would print the certificate's path, whereas it was supposed to be
      showing the private key's path.
    - sshd(8): match host certificates against host public keys, not private
      keys. Allows use of certificates with private keys held in a
      ssh-agent.
    - ssh(1): add a workaround for a bug in OpenSSH 7.4 sshd(8), which
      allows RSA/SHA2 signatures for public key authentication but fails to
      advertise this correctly via SSH2_MSG_EXT_INFO. This causes clients of
      these server to incorrectly match PubkeyAcceptedAlgorithms and
      potentially refuse to offer valid keys.
    - sftp(1)/scp(1): degrade gracefully if a sftp-server offers the
      limits@openssh.com extension but fails when the client tries to invoke
      it.
    - ssh(1): allow ssh_config SetEnv to override $TERM, which is otherwise
      handled specially by the protocol. Useful in ~/.ssh/config to set TERM
      to something generic (e.g. "xterm" instead of "xterm-256color") for
      destinations that lack terminfo entries.
    - sftp-server(8): the limits@openssh.com extension was incorrectly
      marked as an operation that writes to the filesystem, which made it
      unavailable in sftp-server read-only mode.
    - ssh(1): fix SEGV in UpdateHostkeys debug() message, triggered when the
      update removed more host keys than remain present.
    - Many manual page fixes.
    - sshd(8): handle GIDs > 2^31 in getgrouplist. When compiled in 32bit
      mode, the getgrouplist implementation may fail for GIDs greater than
      LONG_MAX.
    - ssh(1): xstrdup environment variable used by ForwardAgent.
    - sshd(8): don't sigdie() in signal handler in privsep child process;
      this can end up causing sandbox violations.
  * New upstream release (https://www.openssh.com/releasenotes.html#8.6p1):
    - sftp-server(8): add a new limits@openssh.com protocol extension that
      allows a client to discover various server limits, including maximum
      packet size and maximum read/write length.
    - sftp(1): use the new limits@openssh.com extension (when available) to
      select better transfer lengths in the client.
    - sshd(8): Add ModuliFile keyword to sshd_config to specify the location
      of the "moduli" file containing the groups for DH-GEX.
    - ssh_config(5), sshd_config(5): sync CASignatureAlgorithms lists in
      manual pages with the current default.
    - ssh(1): ensure that pkcs11_del_provider() is called before exit.
    - ssh(1), sshd(8): fix problems in string->argv conversion. Multiple
      backslashes were not being dequoted correctly and quoted space in the
      middle of a string was being incorrectly split.
    - ssh(1): return non-zero exit status when killed by signal.
    - sftp-server(8): increase maximum SSH2_FXP_READ to match the maximum
      packet size. Also handle zero-length reads that are not explicitly
      banned by the spec.
    - sshd(8): don't mistakenly exit on transient read errors on the network
      socket (e.g. EINTR, EAGAIN).
    - Create a dedicated contrib/gnome-ssk-askpass3.c source instead of
      building it from the same file as used for GNOME2. Use the GNOME3
      gdk_seat_grab() to manage keyboard/mouse/server grabs for better
      compatibility with Wayland.
    - sshd(8): soft-disallow the fstatat64 syscall in the Linux seccomp-bpf
      sandbox.
  * New upstream release (https://www.openssh.com/releasenotes.html#8.5p1):
    - ssh(1), sshd(8): change the first-preference signature algorithm from
      ECDSA to ED25519.
    - ssh(1), sshd(8): set the TOS/DSCP specified in the configuration for
      interactive use prior to TCP connect.
    - ssh(1), sshd(8): remove the pre-standardization cipher
      rijndael-cbc@lysator.liu.se.
    - ssh(1), sshd(8): update/replace the experimental post-quantum hybrid
      key exchange method based on Streamlined NTRU Prime coupled with
      X25519.
    - ssh(1): disable CheckHostIP by default. It provides insignificant
      benefits while making key rotation significantly more difficult,
      especially for hosts behind IP-based load-balancers (closes: #764027).
    - ssh(1): enable UpdateHostkeys by default subject to some conservative
      preconditions (closes: #875532):
      + The key was matched in the UserKnownHostsFile (and not in the
        GlobalKnownHostsFile).
      + The same key does not exist under another name.
      + A certificate host key is not in use.
      + known_hosts contains no matching wildcard hostname pattern.
      + VerifyHostKeyDNS is not enabled.
      + The default UserKnownHostsFile is in use.
      We expect some of these conditions will be modified or relaxed in
      future.
    - ssh(1), sshd(8): add a new LogVerbose configuration directive that
      allows forcing maximum debug logging by file/function/line
      pattern-lists.
    - ssh(1): when prompting the user to accept a new hostkey, display any
      other host names/addresses already associated with the key.
    - ssh(1): allow UserKnownHostsFile=none to indicate that no known_hosts
      file should be used to identify host keys.
    - ssh(1): add a ssh_config KnownHostsCommand option that allows the
      client to obtain known_hosts data from a command in addition to the
      usual files.
    - ssh(1): add a ssh_config PermitRemoteOpen option that allows the
      client to restrict the destination when RemoteForward is used with
      SOCKS.
    - ssh(1): for FIDO keys, if a signature operation fails with a
      "incorrect PIN" reason and no PIN was initially requested from the
      user, then request a PIN and retry the operation. This supports some
      biometric devices that fall back to requiring PIN when reading of the
      biometric failed, and devices that require PINs for all hosted
      credentials.
    - sshd(8): implement client address-based rate-limiting via new
      sshd_config(5) PerSourceMaxStartups and PerSourceNetBlockSize
      directives that provide more fine-grained control on a per-origin
      address basis than the global MaxStartups limit.
    - ssh(1): Prefix keyboard interactive prompts with "(user@host)" to make
      it easier to determine which connection they are associated with in
      cases like scp -3, ProxyJump, etc. (closes: #343267).
    - sshd(8): fix sshd_config SetEnv directives located inside Match
      blocks.
    - ssh(1): when requesting a FIDO token touch on stderr, inform the user
      once the touch has been recorded.
    - ssh(1): prevent integer overflow when ridiculously large
      ConnectTimeout values are specified, capping the effective value (for
      most platforms) at 24 days.
    - ssh(1): consider the ECDSA key subtype when ordering host key
      algorithms in the client.
    - ssh(1), sshd(8): rename the PubkeyAcceptedKeyTypes keyword to
      PubkeyAcceptedAlgorithms. The previous name incorrectly suggested that
      it control allowed key algorithms, when this option actually specifies
      the signature algorithms that are accepted. The previous name remains
      available as an alias (closes: #933665).
    - ssh(1), sshd(8): similarly, rename HostbasedKeyTypes (ssh) and
      HostbasedAcceptedKeyTypes (sshd) to HostbasedAcceptedAlgorithms.
    - sftp-server(8): add missing lsetstat@openssh.com documentation and
      advertisement in the server's SSH2_FXP_VERSION hello packet.
    - ssh(1), sshd(8): more strictly enforce KEX state-machine by banning
      packet types once they are received. Fixes memleak caused by duplicate
      SSH2_MSG_KEX_DH_GEX_REQUEST.
    - sftp(1): allow the full range of UIDs/GIDs for chown/chgrp on 32bit
      platforms instead of being limited by LONG_MAX.
    - Minor man page fixes (capitalization, commas, etc.)
    - sftp(1): when doing an sftp recursive upload or download of a
      read-only directory, ensure that the directory is created with write
      and execute permissions in the interim so that the transfer can
      actually complete, then set the directory permission as the final
      step.
    - ssh-keygen(1): document the -Z, check the validity of its argument
      earlier and provide a better error message if it's not correct.
    - ssh(1): ignore comments at the end of config lines in ssh_config,
      similar to what we already do for sshd_config.
    - sshd_config(5): mention that DisableForwarding is valid in a
      sshd_config Match block.
    - sftp(1): fix incorrect sorting of "ls -ltr" under some circumstances.
    - ssh(1), sshd(8): fix potential integer truncation of (unlikely)
      timeout values.
    - ssh(1): make hostbased authentication send the signature algorithm in
      its SSH2_MSG_USERAUTH_REQUEST packets instead of the key type. This
      make HostbasedAcceptedAlgorithms do what it is supposed to - filter on
      signature algorithm and not key type.
    - sshd(8): add a number of platform-specific syscalls to the Linux
      seccomp-bpf sandbox.
    - sshd(8): remove debug message from sigchld handler that could cause
      deadlock on some platforms.
    - Sync contrib/ssh-copy-id with upstream.
  * Remove OpenBSD-specific rdomain references from sshd_config(5) (closes:
    #998069).
  * Define MAXHOSTNAMELEN on GNU/Hurd (thanks, Svante Signell; closes:
    #997030).
  * Build-depend on libelogind-dev as an alternative to libsystemd-dev on
    Linux (thanks, Svante Signell; closes: #997035).
  * Backport from upstream:
    - CVE-2021-41617 (closes: #995130): sshd(8) from OpenSSH 6.2 through 8.7
      failed to correctly initialise supplemental groups when executing an
      AuthorizedKeysCommand or AuthorizedPrincipalsCommand, where a
      AuthorizedKeysCommandUser or AuthorizedPrincipalsCommandUser directive
      has been set to run the command as a different user. Instead these
      commands would inherit the groups that sshd(8) was started with.
  * Configure with ac_cv_func_closefrom=no to avoid an incompatibility with
    glibc 2.34's fallback_closefrom function (thanks, William 'jawn-smith'
    Wilson; LP: #1944621).

 -- Colin Watson <cjwatson@debian.org>  Sat, 06 Nov 2021 12:23:47 +0000

openssh (1:8.4p1-6) unstable; urgency=medium

  [ Colin Watson ]
  * Rename ssh group to _ssh (closes: #990456).  It's only used by
    ssh-agent.
  * debian/tests/regress: Don't fail cleanup if haveged isn't running.
  * Backport from upstream:
    - Add includes.h to compat tests (closes: #992134, LP: #1939751).
  * Use "command -v" in maintainer scripts rather than "which".

  [ Athos Ribeiro ]
  * d/systemd/ssh@.service: preserve the systemd managed runtime directory to
    ensure parallel processes will not disrupt one another when halting
    (LP: #1905285) (closes: #934663)

 -- Colin Watson <cjwatson@debian.org>  Thu, 19 Aug 2021 11:04:01 +0100

openssh (1:8.4p1-5) unstable; urgency=high

  * CVE-2021-28041: Fix double free in ssh-agent(1) (closes: #984940).

 -- Colin Watson <cjwatson@debian.org>  Sat, 13 Mar 2021 09:59:40 +0000

openssh (1:8.4p1-4) unstable; urgency=medium

  * Avoid using libmd's <sha2.h> even if it's installed (closes: #982705).

 -- Colin Watson <cjwatson@debian.org>  Mon, 15 Feb 2021 10:25:17 +0000

openssh (1:8.4p1-3) unstable; urgency=medium

  * Backport from upstream:
    - Fix `EOF: command not found` error in ssh-copy-id (closes: #975540).

 -- Colin Watson <cjwatson@debian.org>  Wed, 02 Dec 2020 10:32:23 +0000

openssh (1:8.4p1-2) unstable; urgency=medium

  * Revert incorrect upstream patch that claimed to fix the seccomp sandbox
    on x32 but in fact broke it instead.

 -- Colin Watson <cjwatson@debian.org>  Mon, 26 Oct 2020 17:41:13 +0000

openssh (1:8.4p1-1) unstable; urgency=medium

  * New upstream release (https://www.openssh.com/txt/release-8.4):
    - [SECURITY] ssh-agent(1): restrict ssh-agent from signing web
      challenges for FIDO/U2F keys.
    - [SECURITY] ssh-keygen(1): Enable FIDO 2.1 credProtect extension when
      generating a FIDO resident key.
    - ssh-keygen(1): the format of the attestation information optionally
      recorded when a FIDO key is generated has changed. It now includes the
      authenticator data needed to validate attestation signatures.
    - The API between OpenSSH and the FIDO token middleware has changed and
      the SSH_SK_VERSION_MAJOR version has been incremented as a result.
      Third-party middleware libraries must support the current API version
      (7) to work with OpenSSH 8.4.
    - ssh(1), ssh-keygen(1): support for FIDO keys that require a PIN for
      each use. These keys may be generated using ssh-keygen using a new
      "verify-required" option. When a PIN-required key is used, the user
      will be prompted for a PIN to complete the signature operation.
    - sshd(8): authorized_keys now supports a new "verify-required" option
      to require FIDO signatures assert that the token verified that the
      user was present before making the signature. The FIDO protocol
      supports multiple methods for user-verification, but currently OpenSSH
      only supports PIN verification.
    - sshd(8), ssh-keygen(1): add support for verifying FIDO webauthn
      signatures. Webauthn is a standard for using FIDO keys in web
      browsers. These signatures are a slightly different format to plain
      FIDO signatures and thus require explicit support.
    - ssh(1): allow some keywords to expand shell-style ${ENV} environment
      variables. The supported keywords are CertificateFile, ControlPath,
      IdentityAgent and IdentityFile, plus LocalForward and RemoteForward
      when used for Unix domain socket paths.
    - ssh(1), ssh-agent(1): allow some additional control over the use of
      ssh-askpass via a new $SSH_ASKPASS_REQUIRE environment variable,
      including forcibly enabling and disabling its use (closes: #368657).
    - ssh(1): allow ssh_config(5)'s AddKeysToAgent keyword accept a time
      limit for keys in addition to its current flag options. Time-limited
      keys will automatically be removed from ssh-agent after their expiry
      time has passed.
    - scp(1), sftp(1): allow the -A flag to explicitly enable agent
      forwarding in scp and sftp. The default remains to not forward an
      agent, even when ssh_config enables it.
    - ssh(1): add a '%k' TOKEN that expands to the effective HostKey of the
      destination. This allows, e.g., keeping host keys in individual files
      using "UserKnownHostsFile ~/.ssh/known_hosts.d/%k" (closes: #481250).
    - ssh(1): add %-TOKEN, environment variable and tilde expansion to the
      UserKnownHostsFile directive, allowing the path to be completed by the
      configuration.
    - ssh-keygen(1): allow "ssh-add -d -" to read keys to be deleted from
      stdin.
    - sshd(8): improve logging for MaxStartups connection throttling.  sshd
      will now log when it starts and stops throttling and periodically
      while in this state.
    - ssh(1), ssh-keygen(1): better support for multiple attached FIDO
      tokens. In cases where OpenSSH cannot unambiguously determine which
      token to direct a request to, the user is now required to select a
      token by touching it. In cases of operations that require a PIN to be
      verified, this avoids sending the wrong PIN to the wrong token and
      incrementing the token's PIN failure counter (tokens effectively erase
      their keys after too many PIN failures).
    - sshd(8): fix Include before Match in sshd_config (LP: #1885990).
    - ssh(1): close stdin/out/error when forking after authentication
      completes ("ssh -f ...").
    - ssh(1), sshd(8): limit the amount of channel input data buffered,
      avoiding peers that advertise large windows but are slow to read from
      causing high memory consumption.
    - ssh-agent(1): handle multiple requests sent in a single write() to the
      agent.
    - sshd(8): allow sshd_config longer than 256k.
    - sshd(8): avoid spurious "Unable to load host key" message when sshd
      load a private key but no public counterpart.
    - ssh(1): prefer the default hostkey algorithm list whenever we have a
      hostkey that matches its best-preference algorithm.
    - sshd(1): when ordering the hostkey algorithms to request from a
      server, prefer certificate types if the known_hosts files contain a
      key marked as a @cert-authority.
    - ssh(1): perform host key fingerprint comparisons for the "Are you sure
      you want to continue connecting (yes/no/[fingerprint])?" prompt with
      case sensitivity.
    - sshd(8): ensure that address/masklen mismatches in sshd_config yield
      fatal errors at daemon start time rather than later when they are
      evaluated.
    - ssh-keygen(1): ensure that certificate extensions are lexically
      sorted. Previously if the user specified a custom extension then the
      everything would be in order except the custom ones.
    - ssh(1): also compare username when checking for JumpHost loops.
    - ssh-keygen(1): preserve group/world read permission on known_hosts
      files across runs of "ssh-keygen -Rf /path". The old behaviour was to
      remove all rights for group/other.
    - ssh-keygen(1): Mention the [-a rounds] flag in the ssh-keygen manual
      page and usage().
    - sshd(8): explicitly construct path to ~/.ssh/rc rather than relying on
      it being relative to the current directory, so that it can still be
      found if the shell startup changes its directory.
    - sshd(8): when redirecting sshd's log output to a file, undo this
      redirection after the session child process is forked(). Fixes missing
      log messages when using this feature under some circumstances.
    - sshd(8): start ClientAliveInterval bookkeeping before first pass
      through select() loop; fixed theoretical case where busy sshd may
      ignore timeouts from client.
    - ssh(1): only reset the ServerAliveInterval check when we receive
      traffic from the server and ignore traffic from a port forwarding
      client, preventing a client from keeping a connection alive when it
      should be terminated.
    - ssh-keygen(1): avoid spurious error message when ssh-keygen creates
      files outside ~/.ssh.
    - sftp-client(1): fix off-by-one error that caused sftp downloads to
      make one more concurrent request that desired. This prevented using
      sftp(1) in unpipelined request/response mode, which is useful when
      debugging.
    - ssh(1), sshd(8): handle EINTR in waitfd() and timeout_connect()
      helpers.
    - ssh(1), ssh-keygen(1): defer creation of ~/.ssh until we attempt to
      write to it so we don't leave an empty .ssh directory when it's not
      needed.
    - ssh(1), sshd(8): fix multiplier when parsing time specifications when
      handling seconds after other units.
    - sshd(8): always send any PAM account messages. If the PAM account
      stack returns any messages, always send them to the user and not just
      if the check succeeds.
    - gnome-ssh-askpass3: ensure the "close" button is not focused by
      default for SSH_ASKPASS_PROMPT=none prompts. Avoids space/enter
      accidentally dismissing FIDO touch notifications.
    - gnome-ssh-askpass3: allow some control over textarea colour via
      $GNOME_SSH_ASKPASS_FG_COLOR and $GNOME_SSH_ASKPASS_BG_COLOR
      environment variables.
    - Detect the Frankenstein monster of Linux/X32 and allow the sandbox to
      function there.

 -- Colin Watson <cjwatson@debian.org>  Tue, 20 Oct 2020 14:15:17 +0100

openssh (1:8.3p1-1) unstable; urgency=medium

  * New upstream release (https://www.openssh.com/txt/release-8.3):
    - [SECURITY] scp(1): when receiving files, scp(1) could become
      desynchronised if a utimes(2) system call failed.  This could allow
      file contents to be interpreted as file metadata and thereby permit an
      adversary to craft a file system that, when copied with scp(1) in a
      configuration that caused utimes(2) to fail (e.g. under a SELinux
      policy or syscall sandbox), transferred different file names and
      contents to the actual file system layout.
    - sftp(1): reject an argument of "-1" in the same way as ssh(1) and
      scp(1) do instead of accepting and silently ignoring it.
    - sshd(8): make IgnoreRhosts a tri-state option: "yes" to ignore
      rhosts/shosts, "no" to allow rhosts/shosts or (new) "shosts-only" to
      allow .shosts files but not .rhosts.
    - sshd(8): allow the IgnoreRhosts directive to appear anywhere in a
      sshd_config, not just before any Match blocks.
    - ssh(1): add %TOKEN percent expansion for the LocalForward and
      RemoteForward keywords when used for Unix domain socket forwarding.
    - all: allow loading public keys from the unencrypted envelope of a
      private key file if no corresponding public key file is present.
    - ssh(1), sshd(8): prefer to use chacha20 from libcrypto where possible
      instead of the (slower) portable C implementation included in OpenSSH.
    - ssh-keygen(1): add ability to dump the contents of a binary key
      revocation list via "ssh-keygen -lQf /path".
    - ssh(1): fix IdentitiesOnly=yes to also apply to keys loaded from a
      PKCS11Provider.
    - ssh-keygen(1): avoid NULL dereference when trying to convert an
      invalid RFC4716 private key.
    - scp(1): when performing remote-to-remote copies using "scp -3", start
      the second ssh(1) channel with BatchMode=yes enabled to avoid
      confusing and non-deterministic ordering of prompts.
    - ssh(1), ssh-keygen(1): when signing a challenge using a FIDO token,
      perform hashing of the message to be signed in the middleware layer
      rather than in OpenSSH code.  This permits the use of security key
      middlewares that perform the hashing implicitly, such as Windows
      Hello.
    - ssh(1): fix incorrect error message for "too many known hosts files."
    - ssh(1): make failures when establishing "Tunnel" forwarding terminate
      the connection when ExitOnForwardFailure is enabled.
    - ssh-keygen(1): fix printing of fingerprints on private keys and add a
      regression test for same.
    - sshd(8): document order of checking AuthorizedKeysFile (first) and
      AuthorizedKeysCommand (subsequently, if the file doesn't match).
    - sshd(8): document that /etc/hosts.equiv and /etc/shosts.equiv are not
      considered for HostbasedAuthentication when the target user is root.
    - ssh(1), ssh-keygen(1): fix NULL dereference in private certificate key
      parsing.
    - ssh(1), sshd(8): more consistency between sets of %TOKENS are accepted
      in various configuration options.
    - ssh(1), ssh-keygen(1): improve error messages for some common PKCS#11
      C_Login failure cases.
    - ssh(1), sshd(8): make error messages for problems during SSH banner
      exchange consistent with other SSH transport-layer error messages and
      ensure they include the relevant IP addresses.
    - ssh-keygen(1), ssh-add(1): when downloading FIDO2 resident keys from a
      token, don't prompt for a PIN until the token has told us that it
      needs one.  Avoids double-prompting on devices that implement
      on-device authentication (closes: #932071).
    - sshd(8), ssh-keygen(1): no-touch-required FIDO certificate option
      should be an extension, not a critical option.
    - ssh(1), ssh-keygen(1), ssh-add(1): offer a better error message when
      trying to use a FIDO key function and SecurityKeyProvider is empty.
    - ssh-add(1), ssh-agent(8): ensure that a key lifetime fits within the
      values allowed by the wire format (u32).  Prevents integer wraparound
      of the timeout values.
    - ssh(1): detect and prevent trivial configuration loops when using
      ProxyJump. bz#3057.
    - On platforms that do not support setting process-wide routing domains
      (all excepting OpenBSD at present), fail to accept a configuration
      attempts to set one at process start time rather than fatally erroring
      at run time.
    - Fix theoretical infinite loop in the glob(3) replacement
      implementation.
  * Update GSSAPI key exchange patch from
    https://github.com/openssh-gsskex/openssh-gsskex:
    - Fix connection through ProxyJump in combination with "GSSAPITrustDNS
      yes".
    - Enable SHA2-based GSSAPI key exchange methods by default as RFC 8732
      was published.
  * Fix or suppress various shellcheck errors under debian/.
  * Use AUTOPKGTEST_TMP rather than the deprecated ADTTMP.
  * Apply upstream patch to fix the handling of Port directives after
    Include (closes: #962035, LP: #1876320).

 -- Colin Watson <cjwatson@debian.org>  Sun, 07 Jun 2020 13:44:04 +0100

openssh (1:8.2p1-4) unstable; urgency=medium

  * Add /etc/ssh/ssh_config.d/ to openssh-client.
  * Add /etc/ssh/sshd_config.d/ to openssh-server (closes: #952427).
  * Install ssh-sk-helper even on non-Linux architectures, though it will
    need an external middleware library in those cases.

 -- Colin Watson <cjwatson@debian.org>  Wed, 26 Feb 2020 10:55:07 +0000

openssh (1:8.2p1-3) unstable; urgency=medium

  * Reupload with -sa to work around confusion with 1:8.2p1-1 being in NEW.

 -- Colin Watson <cjwatson@debian.org>  Sun, 23 Feb 2020 13:30:01 +0000

openssh (1:8.2p1-2) unstable; urgency=medium

  * Move ssh-sk-helper into openssh-client rather than shipping it in a
    separate package.  The extra library dependencies are pretty small, so
    it doesn't seem worth bloating the Packages file.  Suggested by Bastian
    Blank.

 -- Colin Watson <cjwatson@debian.org>  Sun, 23 Feb 2020 11:31:31 +0000

openssh (1:8.2p1-1) unstable; urgency=medium

  * New upstream release (https://www.openssh.com/txt/release-8.2, closes:
    #951582):
    - ssh(1), sshd(8), ssh-keygen(1): this release removes the "ssh-rsa"
      (RSA/SHA1) algorithm from those accepted for certificate signatures
      (i.e. the client and server CASignatureAlgorithms option) and will use
      the rsa-sha2-512 signature algorithm by default when the ssh-keygen(1)
      CA signs new certificates.
    - ssh(1), sshd(8): Remove diffie-hellman-group14-sha1 from the default
      key exchange proposal for both the client and server.
    - ssh-keygen(1): The command-line options related to the generation and
      screening of safe prime numbers used by the
      diffie-hellman-group-exchange-* key exchange algorithms have changed.
      Most options have been folded under the -O flag.
    - sshd(8): The sshd listener process title visible to ps(1) has changed
      to include information about the number of connections that are
      currently attempting authentication and the limits configured by
      MaxStartups.
    - Add support for FIDO/U2F hardware authenticators.
    - ssh-keygen(1): Add a "no-touch-required" option when generating
      FIDO-hosted keys, that disables their default behaviour of requiring a
      physical touch/tap on the token during authentication.  Note: not all
      tokens support disabling the touch requirement.
    - sshd(8): Add a sshd_config PubkeyAuthOptions directive that collects
      miscellaneous public key authentication-related options for sshd(8).
      At present it supports only a single option "no-touch-required".  This
      causes sshd to skip its default check for FIDO/U2F keys that the
      signature was authorised by a touch or press event on the token
      hardware.
    - ssh(1), sshd(8), ssh-keygen(1): Add a "no-touch-required" option for
      authorized_keys and a similar extension for certificates.  This option
      disables the default requirement that FIDO key signatures attest that
      the user touched their key to authorize them, mirroring the similar
      PubkeyAuthOptions sshd_config option.
    - ssh-keygen(1): Add support for the writing the FIDO attestation
      information that is returned when new keys are generated via the "-O
      write-attestation=/path" option.  FIDO attestation certificates may be
      used to verify that a FIDO key is hosted in trusted hardware.  OpenSSH
      does not currently make use of this information, beyond optionally
      writing it to disk.
    - Add support for FIDO2 resident keys.
    - sshd(8): Add an Include sshd_config keyword that allows including
      additional configuration files via glob(3) patterns (closes: #631189).
    - ssh(1)/sshd(8): Make the LE (low effort) DSCP code point available via
      the IPQoS directive.
    - ssh(1): When AddKeysToAgent=yes is set and the key contains no
      comment, add the key to the agent with the key's path as the comment.
    - ssh-keygen(1), ssh-agent(1): Expose PKCS#11 key labels and X.509
      subjects as key comments, rather than simply listing the PKCS#11
      provider library path.
    - ssh-keygen(1): Allow PEM export of DSA and ECDSA keys.
    - sshd(8): When clients get denied by MaxStartups, send a notification
      prior to the SSH2 protocol banner according to RFC4253 section 4.2
      (closes: #275458).
    - ssh(1), ssh-agent(1): When invoking the $SSH_ASKPASS prompt program,
      pass a hint to the program to describe the type of desired prompt.
      The possible values are "confirm" (indicating that a yes/no
      confirmation dialog with no text entry should be shown), "none" (to
      indicate an informational message only), or blank for the original
      ssh-askpass behaviour of requesting a password/phrase.
    - ssh(1): Allow forwarding a different agent socket to the path
      specified by $SSH_AUTH_SOCK, by extending the existing ForwardAgent
      option to accepting an explicit path or the name of an environment
      variable in addition to yes/no.
    - ssh-keygen(1): Add a new signature operations "find-principals" to
      look up the principal associated with a signature from an
      allowed-signers file.
    - sshd(8): Expose the number of currently-authenticating connections
      along with the MaxStartups limit in the process title visible to "ps".
    - sshd(8): Make ClientAliveCountMax=0 have sensible semantics: it will
      now disable connection killing entirely rather than the current
      behaviour of instantly killing the connection after the first liveness
      test regardless of success.
    - sshd(8): Clarify order of AllowUsers / DenyUsers vs AllowGroups /
      DenyGroups in the sshd(8) manual page.
    - sshd(8): Better describe HashKnownHosts in the manual page.
    - sshd(8): Clarify that that permitopen=/PermitOpen do no name or
      address translation in the manual page.
    - sshd(8): Allow the UpdateHostKeys feature to function when multiple
      known_hosts files are in use.  When updating host keys, ssh will now
      search subsequent known_hosts files, but will add updated host keys to
      the first specified file only.
    - All: Replace all calls to signal(2) with a wrapper around
      sigaction(2).  This wrapper blocks all other signals during the
      handler preventing races between handlers, and sets SA_RESTART which
      should reduce the potential for short read/write operations.
    - sftp(1): Fix a race condition in the SIGCHILD handler that could turn
      in to a kill(-1).
    - sshd(8): Fix a case where valid (but extremely large) SSH channel IDs
      were being incorrectly rejected.
    - ssh(1): When checking host key fingerprints as answers to new hostkey
      prompts, ignore whitespace surrounding the fingerprint itself.
    - All: Wait for file descriptors to be readable or writeable during
      non-blocking connect, not just readable.  Prevents a timeout when the
      server doesn't immediately send a banner (e.g. multiplexers like
      sslh).
    - sshd_config(5): Document the sntrup4591761x25519-sha512@tinyssh.org
      key exchange algorithm.
  * Add more historical md5sums of /etc/ssh/sshd_config between 1:7.4p1-1
    and 1:7.8p1-1 inclusive (closes: #951220).
  * ssh(1): Explain that -Y is equivalent to -X in the default configuration
    (closes: #951640).
  * Include /etc/ssh/ssh_config.d/*.conf from /etc/ssh/ssh_config and
    /etc/ssh/sshd_config.d/*.conf from /etc/ssh/sshd_config (closes:
    #845315).

 -- Colin Watson <cjwatson@debian.org>  Fri, 21 Feb 2020 16:36:37 +0000

openssh (1:8.1p1-5) unstable; urgency=medium

  * Apply upstream patches to allow clock_nanosleep() and variants in the
    seccomp sandbox, fixing failures with glibc 2.31.
  * Apply upstream patch to deny (non-fatally) ipc in the seccomp sandbox,
    fixing failures with OpenSSL 1.1.1d and Linux < 3.19 on some
    architectures (closes: #946242).

 -- Colin Watson <cjwatson@debian.org>  Sat, 11 Jan 2020 23:55:03 +0000

openssh (1:8.1p1-4) unstable; urgency=medium

  * Apply upstream patch to stop using 2020 as a future date in regress
    tests.

 -- Colin Watson <cjwatson@debian.org>  Thu, 09 Jan 2020 11:42:10 +0000

openssh (1:8.1p1-3) unstable; urgency=medium

  [ Colin Watson ]
  * Drop suggestion of rssh, since it's been removed (see
    https://bugs.debian.org/923691).

  [ Steve Langasek ]
  * Don't build openssh-tests on Ubuntu i386 (closes: #948466).

 -- Colin Watson <cjwatson@debian.org>  Thu, 09 Jan 2020 00:29:58 +0000

openssh (1:8.1p1-2) unstable; urgency=medium

  * Drop "Allow flock and ipc syscall for s390 architecture" patch for now;
    upstream has security concerns with it and it doesn't currently seem to
    be needed.
  * Mark openssh-sftp-server, openssh-tests, ssh, and ssh-askpass-gnome as
    Multi-Arch: foreign; none of them provide any architecture-dependent
    interfaces.

 -- Colin Watson <cjwatson@debian.org>  Wed, 11 Dec 2019 23:53:49 +0000

openssh (1:8.1p1-1) unstable; urgency=medium

  * New upstream release (https://www.openssh.com/txt/release-8.1):
    - ssh(1), sshd(8), ssh-agent(1): Add protection for private keys at rest
      in RAM against speculation and memory side-channel attacks like
      Spectre, Meltdown and Rambleed.  This release encrypts private keys
      when they are not in use with a symmetric key that is derived from a
      relatively large "prekey" consisting of random data (currently 16KB).
    - ssh(1): Allow %n to be expanded in ProxyCommand strings.
    - ssh(1), sshd(8): Allow prepending a list of algorithms to the default
      set by starting the list with the '^' character, e.g.
      "HostKeyAlgorithms ^ssh-ed25519".
    - ssh-keygen(1): Add an experimental lightweight signature and
      verification ability.  Signatures may be made using regular ssh keys
      held on disk or stored in a ssh-agent and verified against an
      authorized_keys-like list of allowed keys.  Signatures embed a
      namespace that prevents confusion and attacks between different usage
      domains (e.g. files vs email).
    - ssh-keygen(1): Print key comment when extracting public key from a
      private key.
    - ssh-keygen(1): Accept the verbose flag when searching for host keys in
      known hosts (i.e. "ssh-keygen -vF host") to print the matching host's
      random-art signature too.
    - All: Support PKCS8 as an optional format for storage of private keys
      to disk.  The OpenSSH native key format remains the default, but PKCS8
      is a superior format to PEM if interoperability with non-OpenSSH
      software is required, as it may use a less insecure key derivation
      function than PEM's.
    - ssh(1): If a PKCS#11 token returns no keys then try to login and
      refetch them.
    - ssh(1): Produce a useful error message if the user's shell is set
      incorrectly during "match exec" processing.
    - sftp(1): Allow the maximum uint32 value for the argument passed to -b
      which allows better error messages from later validation.
    - ssh-keyscan(1): Include SHA2-variant RSA key algorithms in KEX
      proposal; allows ssh-keyscan to harvest keys from servers that disable
      old SHA1 ssh-rsa.
    - sftp(1): Print explicit "not modified" message if a file was requested
      for resumed download but was considered already complete.
    - sftp(1): Fix a typo and make <esc><right> move right to the closest
      end of a word just like <esc><left> moves left to the closest
      beginning of a word.
    - sshd(8): Cap the number of permitopen/permitlisten directives allowed
      to appear on a single authorized_keys line.
    - All: Fix a number of memory leaks (one-off or on exit paths).
    - ssh(1), sshd(8): Check for convtime() refusing to accept times that
      resolve to LONG_MAX.
    - ssh(1): Slightly more instructive error message when the user
      specifies multiple -J options on the command-line (closes: #929669).
    - ssh-agent(1): Process agent requests for RSA certificate private keys
      using correct signature algorithm when requested.
    - sftp(1): Check for user@host when parsing sftp target.  This allows
      user@[1.2.3.4] to work without a path.
    - sshd(8): Enlarge format buffer size for certificate serial number so
      the log message can record any 64-bit integer without truncation.
    - sshd(8): For PermitOpen violations add the remote host and port to be
      able to more easily ascertain the source of the request.  Add the same
      logging for PermitListen violations which were not previously logged
      at all.
    - scp(1), sftp(1): Use the correct POSIX format style for left
      justification for the transfer progress meter.
    - sshd(8): When examining a configuration using sshd -T, assume any
      attribute not provided by -C does not match, which allows it to work
      when sshd_config contains a Match directive with or without -C.
    - ssh(1), ssh-keygen(1): Downgrade PKCS#11 "provider returned no slots"
      warning from log level error to debug.  This is common when attempting
      to enumerate keys on smartcard readers with no cards plugged in.
    - ssh(1), ssh-keygen(1): Do not unconditionally log in to PKCS#11
      tokens.  Avoids spurious PIN prompts for keys not selected for
      authentication in ssh(1) and when listing public keys available in a
      token using ssh-keygen(1).
    - ssh(1), sshd(8): Fix typo that prevented detection of Linux VRF.
    - sshd(8): In the Linux seccomp-bpf sandbox, allow mprotect(2) with
      PROT_(READ|WRITE|NONE) only.  This syscall is used by some hardened
      heap allocators.
    - sshd(8): In the Linux seccomp-bpf sandbox, allow the s390-specific
      ioctl for ECC hardware support.
  * Re-enable hardening on hppa, since the corresponding GCC bug is
    apparently fixed.

 -- Colin Watson <cjwatson@debian.org>  Thu, 10 Oct 2019 10:23:19 +0100

openssh (1:8.0p1-7) unstable; urgency=medium

  [ Daniel Kahn Gillmor ]
  * runit: Correct typo in comment.

  [ Colin Watson ]
  * Apply upstream patch to deny (non-fatally) shmget/shmat/shmdt in preauth
    privsep child, coping with changes in OpenSSL 1.1.1d that broke OpenSSH
    on Linux kernels before 3.19 (closes: #941663).

 -- Colin Watson <cjwatson@debian.org>  Sat, 05 Oct 2019 22:41:11 +0100

openssh (1:8.0p1-6) unstable; urgency=medium

  * Only run dh_runit on openssh-server (closes: #935936).

 -- Colin Watson <cjwatson@debian.org>  Wed, 28 Aug 2019 10:53:18 +0100

openssh (1:8.0p1-5) unstable; urgency=medium

  [ Lorenzo Puliti ]
  * Add a runscript for runit (closes: #933999).

 -- Colin Watson <cjwatson@debian.org>  Tue, 27 Aug 2019 15:18:54 +0100

openssh (1:8.0p1-4) unstable; urgency=medium

  * Use debhelper-compat instead of debian/compat.
  * debian/*.apport:
    - Remove #! lines.
    - Avoid star imports.
    - Fix flake8 errors.
  * Run regression tests against the Python 3 version of Twisted Conch.

 -- Colin Watson <cjwatson@debian.org>  Sat, 03 Aug 2019 13:33:24 +0100

openssh (1:8.0p1-3) unstable; urgency=medium

  * Upload to unstable.

 -- Colin Watson <cjwatson@debian.org>  Mon, 08 Jul 2019 17:19:37 +0100

# Older entries have been removed from this changelog.
# To read the complete changelog use `apt changelog ssh`.

Generated by dwww version 1.15 on Thu May 23 02:09:16 CEST 2024.