Change log for openssh package in Debian

175 of 212 results
Published in sid-release
openssh (1:9.7p1-4) unstable; urgency=medium

  * Rework systemd readiness notification and socket activation patches to
    not link against libsystemd (the former via an upstream patch).
  * Force -fzero-call-used-regs=used not to be used on ppc64el (it's
    unsupported, but configure fails to detect this).

 -- Colin Watson <email address hidden>  Wed, 03 Apr 2024 12:06:08 +0100
Superseded in sid-release
openssh (1:9.7p1-3) unstable; urgency=medium

  * Fix gssapi-keyex declaration further (thanks, Andreas Hasenack;
    LP: #2053146).
  * Extend -fzero-call-used-regs check to catch m68k gcc bug (closes:
    #1067243).
  * debian/tests/regress: Set a different IP address for UNKNOWN.
  * Re-enable ssh-askpass-gnome on all architectures.
  * regress: Redirect conch stdin from /dev/zero (re-enables conch interop
    tests).
  * Drop "Work around RSA SHA-2 signature issues in conch" patch (no longer
    needed now that Twisted is fixed).

 -- Colin Watson <email address hidden>  Sun, 31 Mar 2024 11:55:38 +0100
Superseded in sid-release
openssh (1:9.7p1-2) unstable; urgency=medium

  [ Simon McVittie ]
  * d/control, d/rules: Disable ssh-askpass-gnome on 32-bit, except i386
    (closes: #1066847).

 -- Colin Watson <email address hidden>  Thu, 14 Mar 2024 11:45:12 +0000
Superseded in sid-release
openssh (1:9.6p1-5) unstable; urgency=medium

  * Restore systemd template unit for per-connection sshd instances,
    although without any corresponding .socket unit for now; this is mainly
    for use with the forthcoming systemd-ssh-generator (closes: #1061516).
    It's now called sshd@.service, since unlike the main service there's no
    need to be concerned about compatibility with the slightly confusing
    "ssh" service name that Debian has traditionally used.

 -- Colin Watson <email address hidden>  Wed, 06 Mar 2024 09:45:56 +0000
Superseded in sid-release
openssh (1:9.6p1-4) unstable; urgency=medium

  * Add sshd_config checksums for 1:9.2p1-1 to ucf reference file, and add a
    test to ensure it doesn't get out of date again.
  * Drop manual adjustment of OpenSSL dependencies; OpenSSH relaxed its
    checks for OpenSSL >= 3 in 9.4p1.
  * Build-depend on pkgconf rather than pkg-config.
  * Adjust debian/copyright to handle the "placed in the public domain"
    status of rijndael.* more explicitly.

 -- Colin Watson <email address hidden>  Mon, 26 Feb 2024 12:26:57 +0000
Published in bullseye-release
openssh (1:8.4p1-5+deb11u3) bullseye-security; urgency=medium

  * Cherry-pick from upstream:
    - [CVE-2021-41617]: 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
      (closes: #995130).
    - [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-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 <email address hidden>  Thu, 21 Dec 2023 16:09:44 +0000
Published in sid-release
Published in bookworm-release
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 <email address hidden>  Tue, 19 Dec 2023 14:51:56 +0000
Superseded in sid-release
openssh (1:9.6p1-3) unstable; urgency=medium

  * Allow passing extra ssh-agent arguments via
    "/usr/lib/openssh/agent-launch start", making it possible to override
    things like identity lifetime using a systemd drop-in unit (closes:
    #1059639).
  * Don't try to start rescue-ssh.target in postinst (LP: #2047082).

 -- Colin Watson <email address hidden>  Wed, 17 Jan 2024 22:50:07 +0000
Superseded in sid-release
openssh (1:9.6p1-2) unstable; urgency=medium

  * Improve detection of broken -fzero-call-used-regs=used (see
    https://bugzilla.mindrot.org/show_bug.cgi?id=3645; fixes build on
    ppc64/ppc64el).

 -- Colin Watson <email address hidden>  Thu, 21 Dec 2023 16:07:34 +0000
Superseded in sid-release
openssh (1:9.6p1-1) unstable; urgency=medium

  * Use single quotes in suggested ssh-keygen commands (closes: #1057835).
  * Debconf translations:
    - Catalan (thanks, Pablo Huguet; closes: #1049995).
  * New upstream release (https://www.openssh.com/releasenotes.html#9.6p1):
    - [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.
    - [SECURITY] 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.
    - [SECURITY] 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. OpenSSH 9.6 now bans most shell
      metacharacters from user and hostnames supplied via the command-line.
    - ssh(1), sshd(8): the RFC4254 connection/channels protocol provides a
      TCP-like window mechanism that limits the amount of data that can be
      sent without acceptance from the peer. In cases where this limit was
      exceeded by a non-conforming peer SSH implementation, ssh(1)/sshd(8)
      previously discarded the extra data. From OpenSSH 9.6, ssh(1)/sshd(8)
      will now terminate the connection if a peer exceeds the window limit
      by more than a small grace factor. This change should have no effect
      of SSH implementations that follow the specification.
    - ssh(1): add a %j token that expands to the configured ProxyJump
      hostname (or the empty string if this option is not being used) that
      can be used in a number of ssh_config(5) keywords.
    - ssh(1): add ChannelTimeout support to the client, mirroring the same
      option in the server and allowing ssh(1) to terminate quiescent
      channels.
    - ssh(1), sshd(8), ssh-add(1), ssh-keygen(1): add support for reading
      ED25519 private keys in PEM PKCS8 format. Previously only the OpenSSH
      private key format was supported.
    - ssh(1), sshd(8): introduce a protocol extension to allow renegotiation
      of acceptable signature algorithms for public key authentication after
      the server has learned the username being used for authentication.
      This allows varying sshd_config(5) PubkeyAcceptedAlgorithms in a
      "Match user" block.
    - ssh-add(1), ssh-agent(1): add an agent protocol extension to allow
      specifying certificates when loading PKCS#11 keys. This allows the use
      of certificates backed by PKCS#11 private keys in all OpenSSH tools
      that support ssh-agent(1). Previously only ssh(1) supported this
      use-case.
    - ssh(1): when deciding whether to enable the keystroke timing
      obfuscation, enable it only if a channel with a TTY is active.
    - ssh(1): switch mainloop from poll(3) to ppoll(3) and mask signals
      before checking flags set in signal handler. Avoids potential race
      condition between signaling ssh to exit and polling.
    - ssh(1): when connecting to a destination with both the AddressFamily
      and CanonicalizeHostname directives in use, the AddressFamily
      directive could be ignored.
    - sftp(1): correct handling of the <email address hidden> option when the
      server returned an unexpected message.
    - ssh(1): release GSS OIDs only at end of authentication, avoiding
      unnecessary init/cleanup cycles.
    - ssh_config(5): mention "none" is a valid argument to IdentityFile in
      the manual.
    - scp(1): improved debugging for paths from the server rejected for not
      matching the client's glob(3) pattern in old SCP/RCP protocol mode.
    - ssh-agent(1): refuse signing operations on destination-constrained
      keys if a previous session-bind operation has failed. This may prevent
      a fail-open situation in future if a user uses a mismatched ssh(1)
      client and ssh-agent(1) where the client supports a key type that the
      agent does not support.
  * debian/run-tests: Supply absolute paths to tools.
  * debian/run-tests: Enable interop tests for Dropbear.

 -- Colin Watson <email address hidden>  Mon, 18 Dec 2023 22:35:25 +0000
Superseded in sid-release
openssh (1:9.5p1-2) unstable; urgency=medium

  * Upload to unstable.

 -- Colin Watson <email address hidden>  Sat, 25 Nov 2023 16:16:04 +0000
Deleted in experimental-release (Reason: None provided.)
openssh (1:9.5p1-1) experimental; urgency=medium

  * New upstream release (https://www.openssh.com/releasenotes.html#9.5p1):
    - ssh-keygen(1): generate Ed25519 keys by default. Ed25519 public keys
      are very convenient due to their small size. Ed25519 keys are
      specified in RFC 8709 and OpenSSH has supported them since version 6.5
      (January 2014).
    - sshd(8): the Subsystem directive now accurately preserves quoting of
      subsystem commands and arguments. This may change behaviour for exotic
      configurations, but the most common subsystem configuration
      (sftp-server) is unlikely to be affected.
    - ssh(1): add keystroke timing obfuscation to the client. This attempts
      to hide inter-keystroke timings by sending interactive traffic at
      fixed intervals (default: every 20ms) when there is only a small
      amount of data being sent. It also sends fake "chaff" keystrokes for a
      random interval after the last real keystroke. These are controlled by
      a new ssh_config ObscureKeystrokeTiming keyword.
    - ssh(1), sshd(8): Introduce a transport-level ping facility. This adds
      a pair of SSH transport protocol messages SSH2_MSG_PING/PONG to
      implement a ping capability. These messages use numbers in the "local
      extensions" number space and are advertised using a "<email address hidden>"
      ext-info message with a string version number of "0".
    - sshd(8): allow override of Subsystem directives in sshd Match blocks.
    - scp(1): fix scp in SFTP mode recursive upload and download of
      directories that contain symlinks to other directories. In scp mode,
      the links would be followed, but in SFTP mode they were not.
    - ssh-keygen(1): handle cr+lf (instead of just cr) line endings in
      sshsig signature files.
    - ssh(1): interactive mode for ControlPersist sessions if they
      originally requested a tty.
    - sshd(8): make PerSourceMaxStartups first-match-wins.
    - sshd(8): limit artificial login delay to a reasonable maximum (5s) and
      don't delay at all for the "none" authentication mechanism.
    - sshd(8): Log errors in kex_exchange_identification() with level
      verbose instead of error to reduce preauth log spam. All of those get
      logged with a more generic error message by sshpkt_fatal().
    - sshd(8): correct math for ClientAliveInterval that caused the probes
      to be sent less frequently than configured.
    - ssh(1): fix regression in OpenSSH 9.4 (mux.c r1.99) that caused
      multiplexed sessions to ignore SIGINT under some circumstances.
  * Build-depend on dh-sequence-movetousr.
  * Report DebianBanner setting in "sshd -G/-T" output (thanks, Rasmus
    Villemoes; closes: #1053555).

 -- Colin Watson <email address hidden>  Thu, 23 Nov 2023 17:38:07 +0000
Superseded in bullseye-release
openssh (1:8.4p1-5+deb11u2) bullseye; 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 <email address hidden>  Sat, 23 Sep 2023 23:13:51 +0100
Superseded in bookworm-release
Superseded in sid-release
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 <email address hidden>  Sat, 23 Sep 2023 23:11:33 +0100
Superseded in sid-release
openssh (1:9.4p1-1) unstable; urgency=medium

  * New upstream release (https://www.openssh.com/releasenotes.html#9.4p1):
    - ssh-agent(1): PKCS#11 modules must now be specified by their full
      paths. Previously dlopen(3) could search for them in system library
      directories.
    - ssh(1): allow forwarding Unix Domain sockets via ssh -W.
    - ssh(1): add support for configuration tags to ssh(1). This adds a
      ssh_config(5) "Tag" directive and corresponding "Match tag" predicate
      that may be used to select blocks of configuration similar to the
      pf.conf(5) keywords of the same name.
    - ssh(1): add a "match localnetwork" predicate. This allows matching on
      the addresses of available network interfaces and may be used to vary
      the effective client configuration based on network location.
    - ssh(1), sshd(8), ssh-keygen(1): infrastructure support for KRL
      extensions. This defines wire formats for optional KRL extensions and
      implements parsing of the new submessages. No actual extensions are
      supported at this point.
    - sshd(8): AuthorizedPrincipalsCommand and AuthorizedKeysCommand now
      accept two additional %-expansion sequences: %D which expands to the
      routing domain of the connected session and %C which expands to the
      addresses and port numbers for the source and destination of the
      connection.
    - ssh-keygen(1): increase the default work factor (rounds) for the
      bcrypt KDF used to derive symmetric encryption keys for passphrase
      protected key files by 50%.
    - ssh-agent(1): improve isolation between loaded PKCS#11 modules by
      running separate ssh-pkcs11-helpers for each loaded provider.
    - ssh(1): make -f (fork after authentication) work correctly with
      multiplexed connections, including ControlPersist (closes: #348741).
    - ssh(1): make ConnectTimeout apply to multiplexing sockets and not just
      to network connections.
    - ssh-agent(1), ssh(1): improve defences against invalid PKCS#11 modules
      being loaded by checking that the requested module contains the
      required symbol before loading it.
    - sshd(8): fix AuthorizedPrincipalsCommand when AuthorizedKeysCommand
      appears before it in sshd_config. Since OpenSSH 8.7 the
      AuthorizedPrincipalsCommand directive was incorrectly ignored in this
      situation.
    - sshd(8), ssh(1), ssh-keygen(1): remove vestigial support for KRL
      signatures. When the KRL format was originally defined, it included
      support for signing of KRL objects. However, the code to sign KRLs and
      verify KRL signatues was never completed in OpenSSH. This release
      removes the partially-implemented code to verify KRLs. All OpenSSH
      tools now ignore KRL_SECTION_SIGNATURE sections in KRL files.
    - All: fix a number of memory leaks and unreachable/harmless integer
      overflows.
    - ssh-agent(1), ssh(1): don't truncate strings logged from PKCS#11
      modules.
    - sshd(8), ssh(1): better validate CASignatureAlgorithms in ssh_config
      and sshd_config. Previously this directive would accept certificate
      algorithm names, but these were unusable in practice as OpenSSH does
      not support CA chains.
    - ssh(1): make `ssh -Q CASignatureAlgorithms` only list signature
      algorithms that are valid for CA signing. Previous behaviour was to
      list all signing algorithms, including certificate algorithms.
    - ssh-keyscan(1): gracefully handle systems where rlimits or the maximum
      number of open files is larger than INT_MAX.
    - ssh-keygen(1): fix "no comment" not showing on when running
      `ssh-keygen -l` on multiple keys where one has a comment and other
      following keys do not. bz3580
    - scp(1), sftp(1): adjust ftruncate() logic to handle servers that
      reorder requests. Previously, if the server reordered requests then
      the resultant file would be erroneously truncated.
    - ssh(1): don't incorrectly disable hostname canonicalization when
      CanonicalizeHostname=yes and ProxyJump was explicitly set to "none".
    - scp(1): when copying local->remote, check that the source file exists
      before opening an SFTP connection to the server (closes: #59255).
    - sshd(8): provide a replacement for the SELinux matchpathcon()
      function, which is deprecated.
    - All: relax libcrypto version checks for OpenSSL >=3 (closes:
      #1035623). Beyond OpenSSL 3.0, the ABI compatibility guarantees are
      wider (only the library major must match instead of major and minor in
      earlier versions).
    - ssh-copy-id(1): Special case OpenWrt instead of Dropbear
      (LP: #1966886).

 -- Colin Watson <email address hidden>  Sat, 02 Sep 2023 21:02:53 +0100
Superseded in sid-release
openssh (1:9.3p2-1) unstable; urgency=high

  * New upstream release (https://www.openssh.com/releasenotes.html#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.

 -- Colin Watson <email address hidden>  Wed, 19 Jul 2023 22:49:14 +0100
Superseded in sid-release
openssh (1:9.3p1-1) unstable; urgency=medium

  * Debconf translations:
    - Romanian (thanks, Remus-Gabriel Chelu; closes: #1033178).
  * Properly fix date of 1:3.0.2p1-2 changelog entry (closes: #1034425).
  * New upstream release (https://www.openssh.com/releasenotes.html#9.3p1):
    - [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).
    - [SECURITY] ssh(1): Portable OpenSSH provides an implementation of the
      getrrsetbyname(3) function if the standard library does not provide
      it, for use by the VerifyHostKeyDNS feature. A specifically crafted
      DNS response could cause this function to perform an out-of-bounds
      read of adjacent stack data, but this condition does not appear to be
      exploitable beyond denial-of-service to the ssh(1) client.
    - ssh-keygen(1), ssh-keyscan(1): accept -Ohashalg=sha1|sha256 when
      outputting SSHFP fingerprints to allow algorithm selection.
    - sshd(8): add a `sshd -G` option that parses and prints the effective
      configuration without attempting to load private keys and perform
      other checks. This allows usage of the option before keys have been
      generated and for configuration evaluation and verification by
      unprivileged users.
    - scp(1), sftp(1): fix progressmeter corruption on wide displays.
    - ssh-add(1), ssh-keygen(1): use RSA/SHA256 when testing usability of
      private keys as some systems are starting to disable RSA/SHA1 in
      libcrypto.
    - sftp-server(8): fix a memory leak.
    - ssh(1), sshd(8), ssh-keyscan(1): remove vestigial protocol
      compatibility code and simplify what's left.
    - Fix a number of low-impact Coverity static analysis findings.
    - ssh_config(5), sshd_config(5): mention that some options are not
      first-match-wins.
    - Rework logging for the regression tests. Regression tests will now
      capture separate logs for each ssh and sshd invocation in a test.
    - ssh(1): make `ssh -Q CASignatureAlgorithms` work as the manpage says
      it should.
    - ssh(1): ensure that there is a terminating newline when adding a new
      entry to known_hosts.
    - sshd(8): harden Linux seccomp sandbox. Move to an allowlist of
      mmap(2), madvise(2) and futex(2) flags, removing some concerning
      kernel attack surface.
  * debian/README.Debian: Clarify that you need to restart ssh.socket after
    overriding its ListenStream= option (LP: #2020560).
  * debian/openssh-server.postinst: Use "sshd -G" to parse the server
    configuration file (closes: #959726).
  * Fix incorrect RRSET_FORCE_EDNS0 flags validation in SSHFP DNSSEC patch
    (thanks, Ben Hutchings; closes: #909022).
  * Always use the internal mkdtemp implementation, since it substitutes
    more randomness into the template string than glibc's version (closes:
    #1001186).

 -- Colin Watson <email address hidden>  Tue, 20 Jun 2023 01:01:48 +0100
Superseded in bookworm-release
Superseded in sid-release
openssh (1:9.2p1-2) unstable; urgency=medium

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

 -- Colin Watson <email address hidden>  Wed, 08 Feb 2023 10:43:07 +0000
Superseded in sid-release
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 <email address hidden>  Tue, 03 Jan 2023 11:57:19 +0000
Superseded in sid-release
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 "<email address hidden>" extension
      request that allows the client to obtain user/group names that
      correspond to a set of uids/gids.
    - sftp(1): use "<email address hidden>" 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 "<email address hidden>", 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 <email address hidden>  Mon, 14 Nov 2022 16:25:45 +0000
Superseded in bullseye-release
Superseded in sid-release
openssh (1:8.4p1-5+deb11u1) bullseye; urgency=medium

  * Backport from upstream:
    - Add new pselect6_time64 syscall on 32-bit architectures (closes:
      #1004427).

 -- Colin Watson <email address hidden>  Fri, 01 Jul 2022 23:37:41 +0100
Superseded in sid-release
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 ("<email address hidden>").
      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 <email address hidden>  Sat, 09 Apr 2022 14:14:10 +0100

Available diffs

Superseded in sid-release
openssh (1:8.9p1-3) unstable; urgency=medium

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

 -- Colin Watson <email address hidden>  Fri, 25 Feb 2022 23:30:49 +0000
Superseded in sid-release
openssh (1:8.9p1-2) unstable; urgency=medium

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

 -- Colin Watson <email address hidden>  Thu, 24 Feb 2022 16:09:56 +0000

Available diffs

Superseded in sid-release
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 <email address hidden> 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 <email address hidden>  Thu, 24 Feb 2022 11:06:15 +0000

Available diffs

Superseded in sid-release
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 <email address hidden>  Tue, 15 Feb 2022 19:20:21 +0000

Available diffs

Superseded in sid-release
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 <email address hidden>  Wed, 29 Dec 2021 12:08:38 +0000
Superseded in sid-release
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 <email address hidden>  Wed, 29 Dec 2021 01:12:00 +0000
Superseded in sid-release
openssh (1:8.7p1-2) unstable; urgency=medium

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

 -- Colin Watson <email address hidden>  Sat, 13 Nov 2021 13:40:50 +0000
Superseded in sid-release
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
      <email address hidden> 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 <email address hidden> 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 <email address hidden> 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 <email address hidden> 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
      <email address hidden>.
    - 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 <email address hidden> 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 <email address hidden>  Sat, 06 Nov 2021 12:23:47 +0000
Superseded in sid-release
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 <email address hidden>  Thu, 19 Aug 2021 11:04:01 +0100
Superseded in bullseye-release
Superseded in sid-release
openssh (1:8.4p1-5) unstable; urgency=high

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

 -- Colin Watson <email address hidden>  Sat, 13 Mar 2021 09:59:40 +0000
Superseded in sid-release
openssh (1:8.4p1-4) unstable; urgency=medium

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

 -- Colin Watson <email address hidden>  Mon, 15 Feb 2021 10:25:17 +0000

Available diffs

Superseded in sid-release
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 <email address hidden>  Wed, 02 Dec 2020 10:32:23 +0000

Available diffs

Superseded in sid-release
Superseded in sid-release
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 <email address hidden>  Mon, 26 Oct 2020 17:41:13 +0000

Available diffs

Superseded in sid-release
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 <email address hidden>  Tue, 20 Oct 2020 14:15:17 +0100
Superseded in sid-release
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 <email address hidden>  Sun, 07 Jun 2020 13:44:04 +0100
Superseded in sid-release
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 <email address hidden>  Wed, 26 Feb 2020 10:55:07 +0000

Available diffs

Superseded in sid-release
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 <email address hidden>  Sun, 23 Feb 2020 13:30:01 +0000

Available diffs

Superseded in sid-release
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 <email address hidden>
      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 <email address hidden>  Fri, 21 Feb 2020 16:36:37 +0000

Available diffs

Published in buster-release
Superseded in sid-release
openssh (1:7.9p1-10+deb10u2) buster; urgency=medium

  * 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).  Note that this also drops the previous
    change to allow ipc on s390, since upstream has security concerns with
    that and it doesn't currently seem to be needed.

 -- Colin Watson <email address hidden>  Fri, 31 Jan 2020 20:55:34 +0000
Superseded in sid-release
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 <email address hidden>  Sat, 11 Jan 2020 23:55:03 +0000
Superseded in sid-release
openssh (1:8.1p1-4) unstable; urgency=medium

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

 -- Colin Watson <email address hidden>  Thu, 09 Jan 2020 11:42:10 +0000

Available diffs

Superseded in sid-release
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 <email address hidden>  Thu, 09 Jan 2020 00:29:58 +0000

Available diffs

Superseded in sid-release
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 <email address hidden>  Wed, 11 Dec 2019 23:53:49 +0000

Available diffs

Superseded in sid-release
Superseded in buster-release
openssh (1:7.9p1-10+deb10u1) buster-security; urgency=high

  * 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 <email address hidden>  Sun, 06 Oct 2019 19:18:07 +0100
Superseded in sid-release
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 <email address hidden>  Thu, 10 Oct 2019 10:23:19 +0100
Superseded in sid-release
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 <email address hidden>  Sat, 05 Oct 2019 22:41:11 +0100
Published in stretch-release
openssh (1:7.4p1-10+deb9u7) stretch; urgency=medium

  * Fix deadlock when the keys/principals command produces a lot of
    output and a key is matched early (upstream commit
    ddd3d34e5c7979ca6f4a3a98a7d219a4ed3d98c2). (Closes: #905226)

 -- Moritz Mühlenhoff <email address hidden>  Mon, 15 Jul 2019 15:32:09 +0200
Superseded in sid-release
openssh (1:8.0p1-6) unstable; urgency=medium

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

 -- Colin Watson <email address hidden>  Wed, 28 Aug 2019 10:53:18 +0100
Superseded in sid-release
openssh (1:8.0p1-5) unstable; urgency=medium

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

 -- Colin Watson <email address hidden>  Tue, 27 Aug 2019 15:18:54 +0100
Superseded in sid-release
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 <email address hidden>  Sat, 03 Aug 2019 13:33:24 +0100

Available diffs

Superseded in sid-release
openssh (1:8.0p1-3) unstable; urgency=medium

  * Upload to unstable.

 -- Colin Watson <email address hidden>  Mon, 08 Jul 2019 17:19:37 +0100

Available diffs

Deleted in experimental-release (Reason: None provided.)
openssh (1:8.0p1-2) experimental; urgency=medium

  * Fix interop tests for recent regress changes.

 -- Colin Watson <email address hidden>  Fri, 14 Jun 2019 14:32:12 +0100
Superseded in experimental-release
openssh (1:8.0p1-1) experimental; urgency=medium

  * New upstream release (https://www.openssh.com/txt/release-8.0, closes:
    #927792):
    - ssh(1), ssh-agent(1), ssh-add(1): Add support for ECDSA keys in
      PKCS#11 tokens (LP: #1665695).
    - ssh(1), sshd(8): Add experimental quantum-computing resistant key
      exchange method, based on a combination of Streamlined NTRU Prime
      4591^761 and X25519.
    - ssh-keygen(1): Increase the default RSA key size to 3072 bits,
      following NIST Special Publication 800-57's guidance for a 128-bit
      equivalent symmetric security level (LP: #1445625).
    - ssh(1): Allow "PKCS11Provider=none" to override later instances of the
      PKCS11Provider directive in ssh_config.
    - sshd(8): Add a log message for situations where a connection is
      dropped for attempting to run a command but a sshd_config
      ForceCommand=internal-sftp restriction is in effect.
    - ssh(1): When prompting whether to record a new host key, accept the
      key fingerprint as a synonym for "yes".  This allows the user to paste
      a fingerprint obtained out of band at the prompt and have the client
      do the comparison for you.
    - ssh-keygen(1): When signing multiple certificates on a single
      command-line invocation, allow automatically incrementing the
      certificate serial number.
    - scp(1), sftp(1): Accept -J option as an alias to ProxyJump on the scp
      and sftp command-lines.
    - ssh-agent(1), ssh-pkcs11-helper(8), ssh-add(1): Accept "-v"
      command-line flags to increase the verbosity of output; pass verbose
      flags though to subprocesses, such as ssh-pkcs11-helper started from
      ssh-agent.
    - ssh-add(1): Add a "-T" option to allowing testing whether keys in an
      agent are usable by performing a signature and a verification.
    - sftp-server(8): Add a "<email address hidden>" protocol extension that
      replicates the functionality of the existing SSH2_FXP_SETSTAT
      operation but does not follow symlinks.
    - sftp(1): Add "-h" flag to chown/chgrp/chmod commands to request they
      do not follow symlinks.
    - sshd(8): Expose $SSH_CONNECTION in the PAM environment.  This makes
      the connection 4-tuple available to PAM modules that wish to use it in
      decision-making.
    - sshd(8): Add a ssh_config "Match final" predicate.  Matches in same
      pass as "Match canonical" but doesn't require hostname
      canonicalisation be enabled.
    - sftp(1): Support a prefix of '@' to suppress echo of sftp batch
      commands.
    - ssh-keygen(1): When printing certificate contents using "ssh-keygen
      -Lf /path/certificate", include the algorithm that the CA used to sign
      the cert.
    - sshd(8): Fix authentication failures when sshd_config contains
      "AuthenticationMethods any" inside a Match block that overrides a more
      restrictive default.
    - sshd(8): Avoid sending duplicate keepalives when ClientAliveCount is
      enabled.
    - sshd(8): Fix two race conditions related to SIGHUP daemon restart.
      Remnant file descriptors in recently-forked child processes could
      block the parent sshd's attempt to listen(2) to the configured
      addresses.  Also, the restarting parent sshd could exit before any
      child processes that were awaiting their re-execution state had
      completed reading it, leaving them in a fallback path.
    - ssh(1): Fix stdout potentially being redirected to /dev/null when
      ProxyCommand=- was in use.
    - sshd(8): Avoid sending SIGPIPE to child processes if they attempt to
      write to stderr after their parent processes have exited.
    - ssh(1): Fix bad interaction between the ssh_config ConnectTimeout and
      ConnectionAttempts directives - connection attempts after the first
      were ignoring the requested timeout (LP: #1798049).
    - ssh-keyscan(1): Return a non-zero exit status if no keys were found
      (closes: #374980, LP: #1661745).
    - scp(1): Sanitize scp filenames to allow UTF-8 characters without
      terminal control sequences.
    - sshd(8): Fix confusion between ClientAliveInterval and time-based
      RekeyLimit that could cause connections to be incorrectly closed.
    - ssh(1), ssh-add(1): Correct some bugs in PKCS#11 token PIN handling at
      initial token login.  The attempt to read the PIN could be skipped in
      some cases, particularly on devices with integrated PIN readers.  This
      would lead to an inability to retrieve keys from these tokens.
    - ssh(1), ssh-add(1): Support keys on PKCS#11 tokens that set the
      CKA_ALWAYS_AUTHENTICATE flag by requring a fresh login after the
      C_SignInit operation.
    - ssh(1): Improve documentation for ProxyJump/-J, clarifying that local
      configuration does not apply to jump hosts.
    - ssh-keygen(1): Clarify manual - ssh-keygen -e only writes public keys,
      not private.
    - ssh(1), sshd(8): be more strict in processing protocol banners,
      allowing \r characters only immediately before \n.
    - Various: fix a number of memory leaks.
    - scp(1), sftp(1): fix calculation of initial bandwidth limits.  Account
      for bytes written before the timer starts and adjust the schedule on
      which recalculations are performed.  Avoids an initial burst of
      traffic and yields more accurate bandwidth limits.
    - sshd(8): Only consider the ext-info-c extension during the initial key
      eschange.  It shouldn't be sent in subsequent ones, but if it is
      present we should ignore it.  This prevents sshd from sending a
      SSH_MSG_EXT_INFO for REKEX for these buggy clients.
    - ssh-keygen(1): Clarify manual that ssh-keygen -F (find host in
      authorized_keys) and -R (remove host from authorized_keys) options may
      accept either a bare hostname or a [hostname]:port combo.
    - ssh(1): Don't attempt to connect to empty SSH_AUTH_SOCK.
    - sshd(8): Silence error messages when sshd fails to load some of the
      default host keys.  Failure to load an explicitly-configured hostkey
      is still an error, and failure to load any host key is still fatal.
    - ssh(1): Redirect stderr of ProxyCommands to /dev/null when ssh is
      started with ControlPersist; prevents random ProxyCommand output from
      interfering with session output.
    - ssh(1): The ssh client was keeping a redundant ssh-agent socket
      (leftover from authentication) around for the life of the connection.
    - sshd(8): Fix bug in HostbasedAcceptedKeyTypes and
      PubkeyAcceptedKeyTypes options.  If only RSA-SHA2 signature types were
      specified, then authentication would always fail for RSA keys as the
      monitor checks only the base key (not the signature algorithm) type
      against *AcceptedKeyTypes.
    - ssh(1): Request correct signature types from ssh-agent when
      certificate keys and RSA-SHA2 signatures are in use.
    - sshd(8): Don't set $MAIL if UsePAM=yes as PAM typically specifies the
      user environment if it's enabled (closes: #189920, #532754).
  * Mostly resynced GSSAPI key exchange patch with Fedora.  Major changes:
    - Support selection of GSSAPI key exchange algorithms.
    - Support GSSAPI key exchange methods with DH and SHA2.
    - Support GSSAPI key exchange using ECDH and SHA2.
    - Make sure the Kerberos tickets are cleaned up with the user context.
    - Enable gssapi-keyex authentication without gssapi-with-mic.
    - Allow querying for GSSAPI key exchange algorithms from ssh (-Q
      kex-gss).
  * Apply upstream patch to fix the utimensat regression tests when not
    using the compatibility implementation.

 -- Colin Watson <email address hidden>  Sun, 09 Jun 2019 22:47:27 +0100
Superseded in stretch-release
openssh (1:7.4p1-10+deb9u6) stretch-security; urgency=high

  * Non-maintainer upload by the Security Team.
  * Apply upstream patch to make scp handle shell-style brace expansions
    when checking that filenames sent by the server match what the client
    requested (closes: #923486).

 -- Salvatore Bonaccorso <email address hidden>  Fri, 01 Mar 2019 17:19:28 +0100
Superseded in buster-release
Superseded in sid-release
openssh (1:7.9p1-10) unstable; urgency=medium

  * Temporarily revert IPQoS defaults to pre-7.8 values until issues with
    "iptables -m tos" and VMware have been fixed (closes: #923879, #926229;
    LP: #1822370).

 -- Colin Watson <email address hidden>  Mon, 08 Apr 2019 11:13:04 +0100

Available diffs

Superseded in sid-release
Superseded in buster-release
Superseded in sid-release
openssh (1:7.9p1-9) unstable; urgency=medium

  * Apply upstream patch to make scp handle shell-style brace expansions
    when checking that filenames sent by the server match what the client
    requested (closes: #923486).

 -- Colin Watson <email address hidden>  Fri, 01 Mar 2019 12:23:36 +0000

Available diffs

Superseded in sid-release
openssh (1:7.9p1-8) unstable; urgency=medium

  [ Colin Watson ]
  * Apply upstream patch to fix bug in HostbasedAcceptedKeyTypes and
    PubkeyAcceptedKeyTypes options in the case where only RSA-SHA2 signature
    types were specified.
  * Apply upstream patch to request RSA-SHA2 signatures for
    rsa-sha2-{256|512}-<email address hidden> cert algorithms (closes:
    #923419).
  * Move moduli(5) manual page to openssh-server to go with /etc/ssh/moduli;
    forgotten in 1:7.9p1-5.

  [ Dominik George ]
  * Correctly handle conffile move to openssh-server (closes: #919344).

 -- Colin Watson <email address hidden>  Thu, 28 Feb 2019 19:31:49 +0000
Superseded in sid-release
openssh (1:7.9p1-7) unstable; urgency=medium

  * Recommend "default-logind | logind | libpam-systemd" rather than just
    libpam-systemd (closes: #923199).  (I've retained libpam-systemd as an
    alternative for a while to avoid backporting accidents, although it can
    be removed later.)
  * Pass "--exec /usr/sbin/sshd" to start-stop-daemon on stop as well as
    start and pass "--chuid 0:0" on start, to avoid problems with non-root
    groups leaking into the ownership of /run/sshd.pid (closes: #922365).

 -- Colin Watson <email address hidden>  Tue, 26 Feb 2019 15:13:23 +0000
Superseded in stretch-release
Superseded in sid-release
openssh (1:7.4p1-10+deb9u5) stretch; urgency=high

  * Non-maintainer upload by the Security Team.
  * CVE-2018-20685: disallow empty filenames or ones that refer to the current
    directory (Closes: #919101)
  * CVE-2019-6109: sanitize scp filenames via snmprintf (Closes: #793412)
  * CVE-2019-6111: check in scp client that filenames sent during
    remote->local directory copies satisfy the wildcards specified by the user

 -- Yves-Alexis Perez <email address hidden>  Fri, 08 Feb 2019 15:25:55 +0100
Superseded in buster-release
Superseded in sid-release
openssh (1:7.9p1-6) unstable; urgency=medium

  * CVE-2019-6109: Apply upstream patches to sanitize scp filenames via
    snmprintf (closes: #793412).
  * CVE-2019-6111: Apply upstream patch to check in scp client that
    filenames sent during remote->local directory copies satisfy the
    wildcard specified by the user.

 -- Colin Watson <email address hidden>  Fri, 08 Feb 2019 16:26:35 +0000

Available diffs

Superseded in buster-release
Superseded in sid-release
openssh (1:7.9p1-5) unstable; urgency=high

  * Move /etc/ssh/moduli to openssh-server, since it's reasonably large and
    only used by sshd (closes: #858050).
  * Drop obsolete alternate build-dependency on libssl1.0-dev (closes:
    #917342).
  * CVE-2018-20685: Apply upstream scp patch to disallow empty incoming
    filename or ones that refer to the current directory (closes: #919101).

 -- Colin Watson <email address hidden>  Sun, 13 Jan 2019 11:22:45 +0000

Available diffs

Superseded in buster-release
Superseded in sid-release
openssh (1:7.9p1-4) unstable; urgency=medium

  * Fix Ubuntu detection in debian/rules, since the documentation comment
    for dpkg_vendor_derives_from is wrong (thanks, Jeremy Bicha; see
    #913816).

 -- Colin Watson <email address hidden>  Fri, 16 Nov 2018 11:27:28 +0000

Available diffs

Superseded in sid-release
openssh (1:7.9p1-3) unstable; urgency=medium

  * Be more specific about what files to install in openssh-tests, to avoid
    installing a symlink into the build tree.
  * Re-export debian/upstream/signing-key.asc without extra signatures.
  * Restore direct test dependencies on openssl, putty-tools, and
    python-twisted-conch; these are really only indirect dependencies via
    openssh-tests, but including them means that this package will be
    retested when they change.

 -- Colin Watson <email address hidden>  Thu, 15 Nov 2018 01:30:56 +0000
Superseded in buster-release
Superseded in sid-release
Superseded in stretch-release
openssh (1:7.4p1-10+deb9u4) stretch-security; urgency=high

  * Non-maintainer upload by the Security Team
  * CVE-2018-15473: fix username enumeration issue, initially reported
    by Dariusz Tytko and Michal Sajdak (Closes: #906236)

 -- Sebastien Delafond <email address hidden>  Tue, 21 Aug 2018 05:14:18 +0200
Superseded in buster-release
Superseded in sid-release
openssh (1:7.9p1-1) unstable; urgency=medium

  * New upstream release (https://www.openssh.com/txt/release-7.9):
    - ssh(1), sshd(8): allow most port numbers to be specified using service
      names from getservbyname(3) (typically /etc/services; closes:
      #177406).
    - ssh(1): allow the IdentityAgent configuration directive to accept
      environment variable names.  This supports the use of multiple agent
      sockets without needing to use fixed paths.
    - sshd(8): support signalling sessions via the SSH protocol.  A limited
      subset of signals is supported and only for login or command sessions
      (i.e. not subsystems) that were not subject to a forced command via
      authorized_keys or sshd_config.
    - ssh(1): support "ssh -Q sig" to list supported signature options.
      Also "ssh -Q help" to show the full set of supported queries.
    - ssh(1), sshd(8): add a CASignatureAlgorithms option for the client and
      server configs to allow control over which signature formats are
      allowed for CAs to sign certificates.  For example, this allows
      banning CAs that sign certificates using the RSA-SHA1 signature
      algorithm.
    - sshd(8), ssh-keygen(1): allow key revocation lists (KRLs) to revoke
      keys specified by SHA256 hash.
    - ssh-keygen(1): allow creation of key revocation lists directly from
      base64-encoded SHA256 fingerprints.  This supports revoking keys using
      only the information contained in sshd(8) authentication log messages.
    - ssh(1), ssh-keygen(1): avoid spurious "invalid format" errors when
      attempting to load PEM private keys while using an incorrect
      passphrase.
    - sshd(8): when a channel closed message is received from a client,
      close the stderr file descriptor at the same time stdout is closed.
      This avoids stuck processes if they were waiting for stderr to close
      and were insensitive to stdin/out closing (closes: #844494).
    - ssh(1): allow ForwardX11Timeout=0 to disable the untrusted X11
      forwarding timeout and support X11 forwarding indefinitely.
      Previously the behaviour of ForwardX11Timeout=0 was undefined.
    - sshd(8): when compiled with GSSAPI support, cache supported method
      OIDs regardless of whether GSSAPI authentication is enabled in the
      main section of sshd_config.  This avoids sandbox violations if GSSAPI
      authentication was later enabled in a Match block.
    - sshd(8): do not fail closed when configured with a text key revocation
      list that contains a too-short key.
    - ssh(1): treat connections with ProxyJump specified the same as ones
      with a ProxyCommand set with regards to hostname canonicalisation
      (i.e. don't try to canonicalise the hostname unless
      CanonicalizeHostname is set to 'always').
    - ssh(1): fix regression in OpenSSH 7.8 that could prevent public-key
      authentication using certificates hosted in a ssh-agent(1) or against
      sshd(8) from OpenSSH <7.8 (LP: #1790963).
    - All: support building against the openssl-1.1 API (releases 1.1.0g and
      later).  The openssl-1.0 API will remain supported at least until
      OpenSSL terminates security patch support for that API version
      (closes: #828475).
    - sshd(8): allow the futex(2) syscall in the Linux seccomp sandbox;
      apparently required by some glibc/OpenSSL combinations.
  * Remove dh_builddeb override to use xz compression; this has been the
    default since dpkg 1.17.0.
  * Simplify debian/rules using /usr/share/dpkg/default.mk.
  * Remove /etc/network/if-up.d/openssh-server, as it causes more problems
    than it solves (thanks, Christian Ehrhardt, Andreas Hasenack, and David
    Britton; closes: #789532, LP: #1037738, #1674330, #1718227).  Add an
    "if-up hook removed" section to README.Debian documenting the corner
    case that may need configuration adjustments.

 -- Colin Watson <email address hidden>  Sun, 21 Oct 2018 10:39:24 +0100

Available diffs

Superseded in buster-release
Superseded in sid-release
openssh (1:7.8p1-1) unstable; urgency=medium

  * New upstream release (https://www.openssh.com/txt/release-7.8, closes:
    #907534):
    - ssh-keygen(1): Write OpenSSH format private keys by default instead of
      using OpenSSL's PEM format (closes: #905407).  The OpenSSH format,
      supported in OpenSSH releases since 2014 and described in the
      PROTOCOL.key file in the source distribution, offers substantially
      better protection against offline password guessing and supports key
      comments in private keys.  If necessary, it is possible to write old
      PEM-style keys by adding "-m PEM" to ssh-keygen's arguments when
      generating or updating a key.
    - sshd(8): Remove internal support for S/Key multiple factor
      authentication.  S/Key may still be used via PAM or BSD auth.
    - ssh(1): Remove vestigial support for running ssh(1) as setuid.  This
      used to be required for hostbased authentication and the (long gone)
      rhosts-style authentication, but has not been necessary for a long
      time.  Attempting to execute ssh as a setuid binary, or with uid !=
      effective uid will now yield a fatal error at runtime.
    - sshd(8): The semantics of PubkeyAcceptedKeyTypes and the similar
      HostbasedAcceptedKeyTypes options have changed.  These now specify
      signature algorithms that are accepted for their respective
      authentication mechanism, where previously they specified accepted key
      types.  This distinction matters when using the RSA/SHA2 signature
      algorithms "rsa-sha2-256", "rsa-sha2-512" and their certificate
      counterparts.  Configurations that override these options but omit
      these algorithm names may cause unexpected authentication failures (no
      action is required for configurations that accept the default for
      these options).
    - sshd(8): The precedence of session environment variables has changed.
      ~/.ssh/environment and environment="..." options in authorized_keys
      files can no longer override SSH_* variables set implicitly by sshd.
    - ssh(1)/sshd(8): The default IPQoS used by ssh/sshd has changed.  They
      will now use DSCP AF21 for interactive traffic and CS1 for bulk.  For
      a detailed rationale, please see the commit message:
      https://cvsweb.openbsd.org/src/usr.bin/ssh/readconf.c#rev1.284
    - ssh(1)/sshd(8): Add new signature algorithms "rsa-sha2-256-cert-
      <email address hidden>" and "<email address hidden>" to explicitly
      force use of RSA/SHA2 signatures in authentication.
    - sshd(8): Extend the PermitUserEnvironment option to accept a whitelist
      of environment variable names in addition to global "yes" or "no"
      settings.
    - sshd(8): Add a PermitListen directive to sshd_config(5) and a
      corresponding permitlisten= authorized_keys option that control which
      listen addresses and port numbers may be used by remote forwarding
      (ssh -R ...).
    - sshd(8): Add some countermeasures against timing attacks used for
      account validation/enumeration.  sshd will enforce a minimum time or
      each failed authentication attempt consisting of a global 5ms minimum
      plus an additional per-user 0-4ms delay derived from a host secret.
    - sshd(8): Add a SetEnv directive to allow an administrator to
      explicitly specify environment variables in sshd_config.  Variables
      set by SetEnv override the default and client-specified environment.
    - ssh(1): Add a SetEnv directive to request that the server sets an
      environment variable in the session.  Similar to the existing SendEnv
      option, these variables are set subject to server configuration.
    - ssh(1): Allow "SendEnv -PATTERN" to clear environment variables
      previously marked for sending to the server (closes: #573316).
    - ssh(1)/sshd(8): Make UID available as a %-expansion everywhere that
      the username is available currently.
    - ssh(1): Allow setting ProxyJump=none to disable ProxyJump
      functionality.
    - sshd(8): Avoid observable differences in request parsing that could be
      used to determine whether a target user is valid.
    - ssh(1)/sshd(8): Fix some memory leaks.
    - ssh(1): Fix a pwent clobber (introduced in openssh-7.7) that could
      occur during key loading, manifesting as crash on some platforms.
    - sshd_config(5): Clarify documentation for AuthenticationMethods
      option.
    - ssh(1): Ensure that the public key algorithm sent in a public key
      SSH_MSG_USERAUTH_REQUEST matches the content of the signature blob.
      Previously, these could be inconsistent when a legacy or non-OpenSSH
      ssh-agent returned a RSA/SHA1 signature when asked to make a RSA/SHA2
      signature.
    - sshd(8): Fix failures to read authorized_keys caused by faulty
      supplemental group caching.
    - scp(1): Apply umask to directories, fixing potential mkdir/chmod race
      when copying directory trees.
    - ssh-keygen(1): Return correct exit code when searching for and hashing
      known_hosts entries in a single operation.
    - ssh(1): Prefer the ssh binary pointed to via argv[0] to $PATH when
      re-executing ssh for ProxyJump.
    - sshd(8): Do not ban PTY allocation when a sshd session is restricted
      because the user password is expired as it breaks password change
      dialog.
    - ssh(1)/sshd(8): Fix error reporting from select() failures.
    - ssh(1): Improve documentation for -w (tunnel) flag, emphasising that
      -w implicitly sets Tunnel=point-to-point.
    - ssh-agent(1): Implement EMFILE mitigation for ssh-agent.  ssh-agent
      will no longer spin when its file descriptor limit is exceeded.
    - ssh(1)/sshd(8): Disable SSH2_MSG_DEBUG messages for Twisted Conch
      clients.  Twisted Conch versions that lack a version number in their
      identification strings will mishandle these messages when running on
      Python 2.x (https://twistedmatrix.com/trac/ticket/9422).
    - sftp(1): Notify user immediately when underlying ssh process dies
      expectedly.
    - ssh(1)/sshd(8): Fix tunnel forwarding; regression in 7.7 release.
    - ssh-agent(1): Don't kill ssh-agent's listening socket entirely if it
      fails to accept(2) a connection.
    - ssh(1): Add some missing options in the configuration dump output (ssh
      -G).
    - sshd(8): Expose details of completed authentication to PAM auth
      modules via SSH_AUTH_INFO_0 in the PAM environment.
  * Switch debian/watch to HTTPS.
  * Temporarily work around https://twistedmatrix.com/trac/ticket/9515 in
    regression tests.

 -- Colin Watson <email address hidden>  Thu, 30 Aug 2018 15:35:27 +0100
Superseded in buster-release
Superseded in sid-release
openssh (1:7.7p1-4) unstable; urgency=high

  * Apply upstream patch to delay bailout for invalid authenticating user
    until after the packet containing the request has been fully parsed
    (closes: #906236).

 -- Colin Watson <email address hidden>  Fri, 17 Aug 2018 14:09:32 +0100

Available diffs

Superseded in buster-release
Superseded in sid-release
openssh (1:7.7p1-3) unstable; urgency=medium

  [ Colin Watson ]
  * Adjust git-dpm tagging configuration.
  * Remove no-longer-used Lintian overrides from openssh-server and ssh.
  * Add Documentation keys to ssh-agent.service, ssh.service, and
    ssh@.service.

  [ Juri Grabowski ]
  * Add rescue.target with ssh support.

  [ Christian Ehrhardt ]
  * Fix unintentional restriction of authorized keys environment options
    to be alphanumeric (closes: #903474, LP: #1771011).

 -- Colin Watson <email address hidden>  Tue, 10 Jul 2018 16:07:16 +0100

Available diffs

Superseded in buster-release
Superseded in sid-release
openssh (1:7.7p1-2) unstable; urgency=medium

  * Fix parsing of DebianBanner option (closes: #894730).

 -- Colin Watson <email address hidden>  Wed, 04 Apr 2018 00:47:29 +0100

Available diffs

Superseded in sid-release
openssh (1:7.7p1-1) unstable; urgency=medium

  * New upstream release (https://www.openssh.com/txt/release-7.7):
    - ssh(1)/sshd(8): Drop compatibility support for some very old SSH
      implementations, including ssh.com <=2.* and OpenSSH <= 3.*.  These
      versions were all released in or before 2001 and predate the final SSH
      RFCs.  The support in question isn't necessary for RFC-compliant SSH
      implementations.
    - Add experimental support for PQC XMSS keys (Extended Hash-Based
      Signatures).
    - sshd(8): Add an "rdomain" criterion for the sshd_config Match keyword
      to allow conditional configuration that depends on which routing
      domain a connection was received on.
    - sshd_config(5): Add an optional rdomain qualifier to the ListenAddress
      directive to allow listening on different routing domains.
    - sshd(8): Add "expiry-time" option for authorized_keys files to allow
      for expiring keys.
    - ssh(1): Add a BindInterface option to allow binding the outgoing
      connection to an interface's address (basically a more usable
      BindAddress; closes: #289592).
    - ssh(1): Expose device allocated for tun/tap forwarding via a new %T
      expansion for LocalCommand.  This allows LocalCommand to be used to
      prepare the interface.
    - sshd(8): Expose the device allocated for tun/tap forwarding via a new
      SSH_TUNNEL environment variable.  This allows automatic setup of the
      interface and surrounding network configuration automatically on the
      server.
    - ssh(1)/scp(1)/sftp(1): Add URI support to ssh, sftp and scp, e.g.
      ssh://user@host or sftp://user@host/path.  Additional connection
      parameters described in draft-ietf-secsh-scp-sftp-ssh-uri-04 are not
      implemented since the ssh fingerprint format in the draft uses the
      deprecated MD5 hash with no way to specify any other algorithm.
    - ssh-keygen(1): Allow certificate validity intervals that specify only
      a start or stop time (instead of both or neither).
    - sftp(1): Allow "cd" and "lcd" commands with no explicit path argument.
      lcd will change to the local user's home directory as usual.  cd will
      change to the starting directory for session (because the protocol
      offers no way to obtain the remote user's home directory).
    - sshd(8): When doing a config test with sshd -T, only require the
      attributes that are actually used in Match criteria rather than (an
      incomplete list of) all criteria.
    - ssh(1)/sshd(8): More strictly check signature types during key
      exchange against what was negotiated.  Prevents downgrade of RSA
      signatures made with SHA-256/512 to SHA-1.
    - sshd(8): Fix support for client that advertise a protocol version of
      "1.99" (indicating that they are prepared to accept both SSHv1 and
      SSHv2).  This was broken in OpenSSH 7.6 during the removal of SSHv1
      support.
    - ssh(1): Warn when the agent returns a ssh-rsa (SHA1) signature when a
      rsa-sha2-256/512 signature was requested.  This condition is possible
      when an old or non-OpenSSH agent is in use.
    - ssh-agent(1): Fix regression introduced in 7.6 that caused ssh-agent
      to fatally exit if presented an invalid signature request message.
    - sshd_config(5): Accept yes/no flag options case-insensitively, as has
      been the case in ssh_config(5) for a long time (LP: #1656557).
    - ssh(1): Improve error reporting for failures during connection.  Under
      some circumstances misleading errors were being shown.
    - ssh-keyscan(1): Add -D option to allow printing of results directly in
      SSHFP format.
    - ssh(1): Compatibility fix for some servers that erroneously drop the
      connection when the IUTF8 (RFC8160) option is sent.
    - scp(1): Disable RemoteCommand and RequestTTY in the ssh session
      started by scp (sftp was already doing this).
    - ssh-keygen(1): Refuse to create a certificate with an unusable number
      of principals.
    - ssh-keygen(1): Fatally exit if ssh-keygen is unable to write all the
      public key during key generation.  Previously it would silently ignore
      errors writing the comment and terminating newline.
    - ssh(1): Do not modify hostname arguments that are addresses by
      automatically forcing them to lower-case.  Instead canonicalise them
      jo resolve ambiguities (e.g. ::0001 => ::1) before they are matched
      against known_hosts.
    - ssh(1): Don't accept junk after "yes" or "no" responses to hostkey
      prompts.
    - sftp(1): Have sftp print a warning about shell cleanliness when
      decoding the first packet fails, which is usually caused by shells
      polluting stdout of non-interactive startups.
    - ssh(1)/sshd(8): Switch timers in packet code from using wall-clock
      time to monotonic time, allowing the packet layer to better function
      over a clock step and avoiding possible integer overflows during
      steps.
    - sshd(8): Correctly detect MIPS ABI in use at configure time.  Fixes
      sandbox violations on some environments.
    - Build and link with "retpoline" flags when available to mitigate the
      "branch target injection" style (variant 2) of the Spectre
      branch-prediction vulnerability.

 -- Colin Watson <email address hidden>  Tue, 03 Apr 2018 12:40:24 +0100
Superseded in sid-release
openssh (1:7.6p1-5) unstable; urgency=medium

  * Explicitly build-depend on pkg-config, rather than implicitly
    build-depending on it via libgtk-3-dev (thanks, Aurelien Jarno; closes:
    #894558).

 -- Colin Watson <email address hidden>  Sun, 01 Apr 2018 21:37:19 +0100
Superseded in buster-release
Superseded in stretch-release
Superseded in sid-release
openssh (1:7.4p1-10+deb9u3) stretch; urgency=medium

  * CVE-2017-15906: sftp-server(8): In read-only mode, sftp-server was
    incorrectly permitting creation of zero-length files. Reported by Michal
    Zalewski.

 -- Colin Watson <email address hidden>  Thu, 01 Mar 2018 15:17:53 +0000
Superseded in buster-release
Superseded in sid-release
openssh (1:7.6p1-4) unstable; urgency=medium

  * Move VCS to salsa.debian.org.
  * Add a preseeding-only openssh-server/password-authentication debconf
    template that can be used to disable password authentication (closes:
    #878945).

 -- Colin Watson <email address hidden>  Sat, 10 Feb 2018 02:31:46 +0000
175 of 212 results