openssh (1:9.6p1-3ubuntu13.14) noble; urgency=medium
* d/p/systemd-socket-activation.patch: allow AF_VSOCK sockets (LP: #2111226)
-- Nick Rosbrook <enr0n@ubuntu.com> Tue, 26 Aug 2025 09:49:17 -0400
openssh (1:9.6p1-3ubuntu13.13) noble; urgency=medium
* Explicitly listen on IPv4 by default, with socket-activated sshd
(LP: #2080216)
- d/systemd/ssh.socket: explicitly listen on ipv4 by default
- d/t/sshd-socket-generator: update for new defaults and AddressFamily
- sshd-socket-generator: handle new ssh.socket default settings
-- Nick Rosbrook <enr0n@ubuntu.com> Mon, 09 Jun 2025 13:22:39 -0400
openssh (1:9.6p1-3ubuntu13.12) noble; urgency=medium
* d/p/sshd-socket-generator.patch: add note to sshd_config
Explain that a systemctl daemon-reload is needed for changes
to Port et al to take effect.
(LP: #2069041)
-- Nick Rosbrook <enr0n@ubuntu.com> Tue, 29 Apr 2025 10:57:04 -0400
openssh (1:9.6p1-3ubuntu13.11) noble-security; urgency=medium
* SECURITY UPDATE: incorrect DisableForwarding directive behaviour
- debian/patches/CVE-2025-32728.patch: fix logic error in session.c.
- CVE-2025-32728
-- Marc Deslauriers <marc.deslauriers@ubuntu.com> Tue, 22 Apr 2025 07:51:46 -0400
openssh (1:9.6p1-3ubuntu13.10) noble; urgency=medium
* d/p/systemd-socket-activation.patch: don't clear rexec_flag
(LP: #2071815)
-- Nick Rosbrook <enr0n@ubuntu.com> Wed, 02 Apr 2025 11:33:09 -0400
openssh (1:9.6p1-3ubuntu13.9) noble; urgency=medium
[ Lukas Märdian ]
* d/p/gssapi.patch: Fix interaction between gssapi-keyex and pubkey auth
(LP: #2028282)
Don't prefer host-bound public key signatures if there was no initial
host key, as is the case when using GSS-API key exchange.
Thanks to Colin Watson for providing patches via Debian Salsa (7d291bb)
+ d/t/ssh-gssapi: Fix typo in autopkgtest
+ d/t/ssh-gssapi: Test interaction between gssapi-keyex and pubkey auth.
[ Nick Rosbrook ]
* sshd-socket-generator: do not parse server match config
(LP: #2076023)
-- Nick Rosbrook <enr0n@ubuntu.com> Mon, 24 Feb 2025 16:25:09 -0500
openssh (1:9.6p1-3ubuntu13.8) noble-security; urgency=medium
* SECURITY UPDATE: MitM with VerifyHostKeyDNS option
- debian/patches/CVE-2025-26465.patch: fix error code handling in
krl.c, ssh-agent.c, ssh-sk-client.c, sshconnect2.c, sshsig.c.
- CVE-2025-26465
* SECURITY UPDATE: pre-authentication denial of service
- debian/patches/CVE-2025-26466.patch: don't reply to PING in preauth
or in KEX in packet.c.
- CVE-2025-26466
* NOTE: this package does _not_ contain the changes from
(1:9.6p1-3ubuntu13.7) in noble-proposed.
-- Marc Deslauriers <marc.deslauriers@ubuntu.com> Tue, 11 Feb 2025 08:41:04 -0500
openssh (1:9.6p1-3ubuntu13.5) noble-proposed; urgency=medium
* SRU: LP: #2076340: No-change rebuild to pick up changed build flags
on ppc64 and s390x.
-- Matthias Klose <doko@ubuntu.com> Fri, 09 Aug 2024 04:33:22 +0200
openssh (1:9.6p1-3ubuntu13.4) noble-security; urgency=medium
* SECURITY UPDATE: timing attack against echo-off password entry
- debian/patches/CVE-2024-39894.patch: don't rely on
channel_did_enqueue in clientloop.c
- CVE-2024-39894
-- Marc Deslauriers <marc.deslauriers@ubuntu.com> Tue, 09 Jul 2024 07:31:27 -0400
openssh (1:9.6p1-3ubuntu13.3) noble-security; urgency=medium
* SECURITY UPDATE: remote code execution via signal handler race
condition (LP: #2070497)
- debian/patches/CVE-2024-6387.patch: don't log in sshsigdie() in log.c.
- CVE-2024-6387
-- Marc Deslauriers <marc.deslauriers@ubuntu.com> Wed, 26 Jun 2024 09:07:08 -0400
openssh (1:9.6p1-3ubuntu13) noble; urgency=medium
[ Marco Trevisan (Treviño) ]
* debian: Remove dependency on libsystemd
As per the xz backdoor we learned that the least dependencies sshd have,
the best it is, so avoid to plug libsystemd (which also brings various
other dependencies) inside sshd for no reason:
- d/p/systemd-readiness.patch: Use upstream patch with no libsystemd
dependency
- d/p/systemd-socket-activation.patch: Import patch from debian that
mimics the libsystemd sd_listen_fds() code, as refactored by Colin
Watson.
- d/control: Remove dependencies on libsystemd-dev | libelogind-dev
- d/rules: Drop --with-systemd flag (new options are used by default)
[ Nick Rosbrook ]
* debian/patches: only set PAM_RHOST if remote host is not "UNKNOWN"
(LP: #2060150)
* debian/openssh-server.postinst: don't re-enable ssh.socket if it was disabled
(LP: #2059874)
* d/p/sshd-socket-generator.patch: do not always ignore ListenStream=22
(LP: #2059872)
-- Nick Rosbrook <enr0n@ubuntu.com> Fri, 05 Apr 2024 15:30:31 -0400
openssh (1:9.6p1-3ubuntu12) noble; urgency=medium
* No-change rebuild for CVE-2024-3094
-- Steve Langasek <steve.langasek@ubuntu.com> Sun, 31 Mar 2024 09:23:28 +0000
openssh (1:9.6p1-3ubuntu11) noble; urgency=medium
* d/t/ssh-gssapi: make the test a bit more rebust (LP: #2058276):
- deal with return codes
- match a more specific success expression from the logs
- add klist output in the case of failure
-- Andreas Hasenack <andreas@canonical.com> Mon, 18 Mar 2024 10:25:15 -0300
openssh (1:9.6p1-3ubuntu10) noble; urgency=medium
* Build again with gnome.
-- Matthias Klose <doko@ubuntu.com> Sat, 16 Mar 2024 19:30:41 +0100
openssh (1:9.6p1-3ubuntu9) noble; urgency=medium
* d/p/gssapi.patch: fix method_gsskeyex structure and
userauth_gsskeyex function regarding changes introduced in upstream
commit dbb339f015c33d63484261d140c84ad875a9e548 ("prepare for
multiple names for authmethods") (LP: #2053146)
* d/t/{ssh-gssapi,util}: ssh-gssapi DEP8 test for gssapi-with-mic
and gssapi-keyex authentication methods
-- Andreas Hasenack <andreas@canonical.com> Fri, 15 Mar 2024 16:18:01 -0300
openssh (1:9.6p1-3ubuntu8) noble; urgency=medium
* No-change rebuild against libcom-err2
-- Steve Langasek <steve.langasek@ubuntu.com> Tue, 12 Mar 2024 20:34:07 +0000
openssh (1:9.6p1-3ubuntu7) noble; urgency=medium
* No-change rebuild against libglib2.0-0t64
-- Steve Langasek <steve.langasek@ubuntu.com> Mon, 11 Mar 2024 23:25:42 +0000
openssh (1:9.6p1-3ubuntu6) noble; urgency=medium
* No-change rebuild against libglib2.0-0t64
-- Steve Langasek <steve.langasek@ubuntu.com> Fri, 08 Mar 2024 06:32:05 +0000
openssh (1:9.6p1-3ubuntu5) noble; urgency=medium
* debian/systemd/ssh.service: restore RuntimeDirectory=sshd (LP: #2055806)
We started using a tmpfile in Ubuntu when we invoked sshd -G in
openssh-server.postinst as a part of migration to systemd socket activation.
Since we use a generator now, instead of invoking sshd -G, we no longer need
this change.
-- Nick Rosbrook <enr0n@ubuntu.com> Thu, 07 Mar 2024 13:59:57 -0500
openssh (1:9.6p1-3ubuntu5~ppa2) noble; urgency=medium
* Build without gnome.
-- Matthias Klose <doko@ubuntu.com> Tue, 05 Mar 2024 15:53:05 +0100
openssh (1:9.6p1-3ubuntu4) noble; urgency=medium
* No-change rebuild against libssl3t64
-- Steve Langasek <steve.langasek@ubuntu.com> Mon, 04 Mar 2024 20:31:25 +0000
openssh (1:9.6p1-3ubuntu3) noble; urgency=medium
* Add sshd-socket-generator to generate ssh.socket drop-in configuration
instead of doing one-time generation on package upgrade:
- debian/control: Build-Depends: systemd-dev
- d/p/sshd-socket-generator.patch: add generator for socket activation
- debian/openssh-server.install: install sshd-socket-generator
- debian/openssh-server.postinst: handle migration to sshd-socket-generator
- d/t/sshd-socket-generator: add dep8 test for sshd-socket-generator
- ssh.socket: adjust unit for socket activation by default
- debian/README.Debian: update ssh.socket documentation
- debian/rules: explicitly enable LTO
The armhf build was not using LTO, which made sshd-socket-generator FTBFS.
This change ensures that all arches are using LTO.
* Drop the following changes related to previous ssh socket activation approach:
- debian/openssh-server.postrm: remove systemd drop-ins for
socket-activated sshd on purge
- debian/openssh-server.templates: include debconf prompt explaining
when migration cannot happen due to multiple ListenAddress values
- debian/openssh-server.postinst: handle migration of sshd_config options
to systemd socket options on upgrade.
- debian/patches/socket-activation-documentation.patch: Document in
sshd_config(5) that ListenAddress and Port no longer work.
* debian/openssh-server.ucf-md5sum: update for new Ubuntu delta
-- Nick Rosbrook <enr0n@ubuntu.com> Wed, 21 Feb 2024 12:51:30 -0500
openssh (1:9.6p1-3ubuntu2) noble; urgency=medium
[ Marco Trevisan (Treviño) ]
* debian/patches: Immediately report interactive instructions to PAM clients
* debian/patches: sshconnect2: Write kbd-interactive messages as utf-8
-- Julian Andres Klode <juliank@ubuntu.com> Thu, 15 Feb 2024 11:13:03 +0100
openssh (1:9.6p1-3ubuntu1) noble; urgency=medium
* Merge with Debian unstable (LP: #2040406). Remaining changes:
- debian/rules: modify dh_installsystemd invocations for
socket-activated sshd.
- debian/openssh-server.postinst: handle migration of sshd_config
options to systemd socket options on upgrade.
- debian/README.Debian: document systemd socket activation.
- debian/patches/socket-activation-documentation.patch: Document
in sshd_config(5) that ListenAddress and Port no longer work.
- debian/openssh-server.templates: include debconf prompt
explaining when migration cannot happen due to multiple
ListenAddress values.
- debian/.gitignore: drop file.
- debian/openssh-server.postrm: remove systemd drop-ins for
socket-activated sshd on purge.
- debian/openssh-server.ucf-md5sum: update for Ubuntu delta
- debian/openssh-server.tmpfile,debian/systemd/ssh.service: Move
/run/sshd creation out of the systemd unit to a tmpfile config
so that sshd can be run manually if necessary without having to
create this directory by hand.
- debian/patches/systemd-socket-activation.patch: Fix sshd
re-execution behavior when socket activation is used.
- debian/tests/systemd-socket-activation: Add autopkgtest
for systemd socket activation functionality.
- d/p/test-set-UsePAM-no-on-some-tests.patch: set UsePAM=no
for some tests.
* Dropped changes, fixed upstream:
- d/p/fix-ftbfs-with-zlib13.patch: fix ftbfs when using zlib 1.3
(LP #2049552)
-- Miriam España Acebal <miriam.espana@canonical.com> Mon, 29 Jan 2024 11:16:31 +0100
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 <cjwatson@debian.org> Wed, 17 Jan 2024 22:50:07 +0000
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 <cjwatson@debian.org> Thu, 21 Dec 2023 16:07:34 +0000
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.
- [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. 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 limits@openssh.com 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 <cjwatson@debian.org> Mon, 18 Dec 2023 22:35:25 +0000
openssh (1:9.5p1-2) unstable; urgency=medium
* Upload to unstable.
-- Colin Watson <cjwatson@debian.org> Sat, 25 Nov 2023 16:16:04 +0000
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 "ping@openssh.com"
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 <cjwatson@debian.org> Thu, 23 Nov 2023 17:38:07 +0000
openssh (1:9.4p1-1ubuntu2) noble; urgency=medium
* d/p/fix-ftbfs-with-zlib13.patch: fix ftbfs when using
zlib 1.3 (LP: #2049552).
-- Miriam España Acebal <miriam.espana@canonical.com> Wed, 17 Jan 2024 20:00:55 +0100
openssh (1:9.4p1-1ubuntu1) noble; urgency=medium
* Merge with Debian unstable. Remaining changes:
- debian/rules: modify dh_installsystemd invocations for
socket-activated sshd
- debian/openssh-server.postinst: handle migration of sshd_config options
to systemd socket options on upgrade.
- debian/README.Debian: document systemd socket activation.
- debian/patches/socket-activation-documentation.patch: Document in
sshd_config(5) that ListenAddress and Port no longer work.
- debian/openssh-server.templates: include debconf prompt explaining
when migration cannot happen due to multiple ListenAddress values
- debian/.gitignore: drop file
- debian/openssh-server.postrm: remove systemd drop-ins for
socket-activated sshd on purge
- debian/openssh-server.ucf-md5sum: update for Ubuntu delta
- debian/openssh-server.tmpfile,debian/systemd/ssh.service: Move
/run/sshd creation out of the systemd unit to a tmpfile config so
that sshd can be run manually if necessary without having to create
this directory by hand.
- debian/patches/systemd-socket-activation.patch: Fix sshd
re-execution behavior when socket activation is used
- debian/tests/systemd-socket-activation: Add autopkgtest for systemd socket
activation functionality.
- d/p/test-set-UsePAM-no-on-some-tests.patch: set UsePAM=no for some tests
* Dropped changes, fixed upstream:
- d/p/fix-authorized-principals-command.patch: Fix the situation where
sshd ignores AuthorizedPrincipalsCommand if AuthorizedKeysCommand
is also set by checking if the value pointed to by the pointer
'charptr' is NULL.
- debian/patches/CVE-2023-38408-1.patch: terminate process if requested
to load a PKCS#11 provider that isn't a PKCS#11 provider in
ssh-pkcs11.c.
- debian/patches/CVE-2023-38408-2.patch: disallow remote addition of
FIDO/PKCS11 provider in ssh-agent.1, ssh-agent.c.
- debian/patches/CVE-2023-38408-3.patch: ensure FIDO/PKCS11 libraries
contain expected symbols in misc.c, misc.h, ssh-pkcs11.c, ssh-sk.c.
* Dropped changes, affected package versions not published in supported
releases:
- debian/openssh-server.postint: do not try to restart systemd units,
and instead indicate that a reboot is required
- debian/tests/systemd-socket-activation: Reboot the testbed before starting the test
- debian/rules: Do not stop ssh.socket on upgrade
-- Nick Rosbrook <enr0n@ubuntu.com> Mon, 13 Nov 2023 12:47:29 -0500
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 <cjwatson@debian.org> Sat, 02 Sep 2023 21:02:53 +0100
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 <cjwatson@debian.org> Wed, 19 Jul 2023 22:49:14 +0100
openssh (1:9.3p1-1ubuntu3) mantic; urgency=medium
* d/p/fix-authorized-principals-command.patch: Fix the situation where
sshd ignores AuthorizedPrincipalsCommand if AuthorizedKeysCommand
is also set by checking if the value pointed to by the pointer
'charptr' is NULL. (LP: #2031942)
-- Michal Maloszewski <michal.maloszewski@canonical.com> Thu, 24 Aug 2023 15:20:27 +0200
openssh (1:9.3p1-1ubuntu2) mantic; urgency=medium
* SECURITY UPDATE: remote code execution relating to PKCS#11 providers
- debian/patches/CVE-2023-38408-1.patch: terminate process if requested
to load a PKCS#11 provider that isn't a PKCS#11 provider in
ssh-pkcs11.c.
- debian/patches/CVE-2023-38408-2.patch: disallow remote addition of
FIDO/PKCS11 provider in ssh-agent.1, ssh-agent.c.
- debian/patches/CVE-2023-38408-3.patch: ensure FIDO/PKCS11 libraries
contain expected symbols in misc.c, misc.h, ssh-pkcs11.c, ssh-sk.c.
- CVE-2023-38408
-- Marc Deslauriers <marc.deslauriers@ubuntu.com> Mon, 24 Jul 2023 15:01:06 -0400
openssh (1:9.3p1-1ubuntu1) mantic; urgency=medium
* Merge with Debian unstable (LP: #2025664). Remaining changes:
- debian/rules: modify dh_installsystemd invocations for
socket-activated sshd
- debian/openssh-server.postinst: handle migration of sshd_config options
to systemd socket options on upgrade.
- debian/README.Debian: document systemd socket activation.
- debian/patches/socket-activation-documentation.patch: Document in
sshd_config(5) that ListenAddress and Port no longer work.
- debian/openssh-server.templates: include debconf prompt explaining
when migration cannot happen due to multiple ListenAddress values
- debian/.gitignore: drop file
- debian/openssh-server.postrm: remove systemd drop-ins for
socket-activated sshd on purge
- debian/openssh-server.ucf-md5sum: update for Ubuntu delta
- debian/openssh-server.tmpfile,debian/systemd/ssh.service: Move
/run/sshd creation out of the systemd unit to a tmpfile config so
that sshd can be run manually if necessary without having to create
this directory by hand.
- debian/patches/systemd-socket-activation.patch: Fix sshd
re-execution behavior when socket activation is used
- debian/tests/systemd-socket-activation: Add autopkgtest for systemd socket
activation functionality.
- d/p/test-set-UsePAM-no-on-some-tests.patch: set UsePAM=no for some tests
- Ensure smooth upgrade path from versions affected by LP: #2020474:
+ debian/openssh-server.postint: do not try to restart systemd units,
and instead indicate that a reboot is required
+ debian/tests/systemd-socket-activation: Reboot the testbed before starting the test
+ debian/rules: Do not stop ssh.socket on upgrade
-- Nick Rosbrook <nick.rosbrook@canonical.com> Mon, 03 Jul 2023 11:34:47 -0400
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 <cjwatson@debian.org> Tue, 20 Jun 2023 01:01:48 +0100
openssh (1:9.2p1-2ubuntu3) mantic; urgency=medium
* Fix upgrade of openssh-server with active ssh session (LP: #2020474)
- debian/patches/systemd-socket-activation.patch:
+ Do force closing of listen sockets in child process
+ Set rexec_flag = 0 when sshd is socket-activated so that child process
does not re-exec
- debian/openssh-server.postint:
+ When upgrading from affected versions of openssh, do not try to
restart systemd units, and instead indicate that a reboot is required
- debian/tests/systemd-socket-activation:
+ Reboot the testbed before starting the test
- debian/rules:
+ Do not stop ssh.socket on upgrade
* d/p/test-set-UsePAM-no-on-some-tests.patch: set UsePAM=no for some tests
-- Nick Rosbrook <nick.rosbrook@canonical.com> Wed, 24 May 2023 18:02:11 -0400
openssh (1:9.2p1-2ubuntu2) mantic; urgency=medium
* debian/README.Debian: Fix path of addresses.conf drop-in
-- Nick Rosbrook <nick.rosbrook@canonical.com> Tue, 23 May 2023 10:50:35 -0400
openssh (1:9.2p1-2ubuntu1) mantic; urgency=medium
* Merge with Debian unstable (LP: #2018094). Remaining changes:
- debian/rules: modify dh_installsystemd invocations for
socket-activated sshd
- debian/openssh-server.postinst: handle migration of sshd_config options
to systemd socket options on upgrade.
- debian/README.Debian: document systemd socket activation.
- debian/patches/socket-activation-documentation.patch: Document in
sshd_config(5) that ListenAddress and Port no longer work.
- debian/openssh-server.templates: include debconf prompt explaining
when migration cannot happen due to multiple ListenAddress values
- debian/.gitignore: drop file
- debian/openssh-server.postrm: remove systemd drop-ins for
socket-activated sshd on purge
- debian/openssh-server.ucf-md5sum: Update list of stock sshd_config
checksums to include those from jammy and kinetic.
- debian/openssh-server.tmpfile,debian/systemd/ssh.service: Move
/run/sshd creation out of the systemd unit to a tmpfile config so
that sshd can be run manually if necessary without having to create
this directory by hand.
- debian/patches/systemd-socket-activation.patch: Fix sshd
re-execution behavior when socket activation is used
- debian/tests/systemd-socket-activation: Add autopkgtest for systemd socket
activation functionality.
* Dropped changes, included in Debian:
- debian/patches/systemd-socket-activation.patch: Initial implementation
* New changes:
- debian/README.Debian: mention drop-in configurations in instructions
for disabling sshd socket activation (LP: #2017434).
- debian/openssh-server.ucf-md5sum: update for Ubuntu delta
-- Nick Rosbrook <nick.rosbrook@canonical.com> Fri, 19 May 2023 15:18:17 -0400
openssh (1:9.2p1-2) unstable; urgency=medium
* Fix mistakenly-unreleased entry for 1:9.2p1-1 in debian/NEWS.
-- Colin Watson <cjwatson@debian.org> Wed, 08 Feb 2023 10:43:07 +0000
openssh (1:9.2p1-1) unstable; urgency=medium
* Set "UsePAM yes" when running regression tests, to match our default
sshd configuration.
* Ignore Lintian error about depending on lsb-base for now, to avoid
problems with partial upgrades on non-default init systems.
* New upstream release (https://www.openssh.com/releasenotes.html#9.2p1):
- [SECURITY] sshd(8): fix a pre-authentication double-free memory fault
introduced in OpenSSH 9.1. This is not believed to be exploitable, and
it occurs in the unprivileged pre-auth process that is subject to
chroot(2) and is further sandboxed on most major platforms.
- [SECURITY] ssh(8): in OpenSSH releases after 8.7, the PermitRemoteOpen
option would ignore its first argument unless it was one of the
special keywords "any" or "none", causing the permission list to fail
open if only one permission was specified.
- [SECURITY] ssh(1): if the CanonicalizeHostname and
CanonicalizePermittedCNAMEs options were enabled, and the system/libc
resolver did not check that names in DNS responses were valid, then
use of these options could allow an attacker with control of DNS to
include invalid characters (possibly including wildcards) in names
added to known_hosts files when they were updated. These names would
still have to match the CanonicalizePermittedCNAMEs allow-list, so
practical exploitation appears unlikely.
- ssh(1): add a new EnableEscapeCommandline ssh_config(5) option that
controls whether the client-side ~C escape sequence that provides a
command-line is available. Among other things, the ~C command-line
could be used to add additional port-forwards at runtime. This option
defaults to "no", disabling the ~C command-line that was previously
enabled by default.
- sshd(8): add support for channel inactivity timeouts via a new
sshd_config(5) ChannelTimeout directive. This allows channels that
have not seen traffic in a configurable interval to be automatically
closed. Different timeouts may be applied to session, X11, agent and
TCP forwarding channels.
- sshd(8): add a sshd_config UnusedConnectionTimeout option to terminate
client connections that have no open channels for a length of time.
This complements the ChannelTimeout option above.
- sshd(8): add a -V (version) option to sshd like the ssh client has.
- ssh(1): add a "Host" line to the output of ssh -G showing the original
hostname argument. bz3343
- scp(1), sftp(1): add a -X option to both scp(1) and sftp(1) to allow
control over some SFTP protocol parameters: the copy buffer length and
the number of in-flight requests, both of which are used during
upload/download. Previously these could be controlled in sftp(1) only.
This makes them available in both SFTP protocol clients using the same
option character sequence.
- ssh-keyscan(1): allow scanning of complete CIDR address ranges, e.g.
"ssh-keyscan 192.168.0.0/24". If a CIDR range is passed, then it will
be expanded to all possible addresses in the range including the
all-0s and all-1s addresses.
- ssh(1): support dynamic remote port forwarding in escape
command-line's -R processing.
- ssh(1): when restoring non-blocking mode to stdio fds, restore exactly
the flags that ssh started with and don't just clobber them with zero,
as this could also remove the append flag from the set.
- ssh(1): avoid printf("%s", NULL) if using UserKnownHostsFile=none and
a hostkey in one of the system known hosts file changes.
- scp(1): switch scp from using pipes to a socket-pair for communication
with its ssh sub-processes, matching how sftp(1) operates.
- sshd(8): clear signal mask early in main(); sshd may have been started
with one or more signals masked (sigprocmask(2) is not cleared on
fork/exec) and this could interfere with various things, e.g. the
login grace timer. Execution environments that fail to clear the
signal mask before running sshd are clearly broken, but apparently
they do exist.
- ssh(1): warn if no host keys for hostbased auth can be loaded.
- sshd(8): Add server debugging for hostbased auth that is queued and
sent to the client after successful authentication, but also logged to
assist in diagnosis of HostbasedAuthentication problems.
- ssh(1): document use of the IdentityFile option as being usable to
list public keys as well as private keys.
- sshd(8): check for and disallow MaxStartups values less than or equal
to zero during config parsing, rather than failing later at runtime.
- ssh-keygen(1): fix parsing of hex cert expiry times specified on the
command-line when acting as a CA.
- scp(1): when scp(1) is using the SFTP protocol for transport (the
default), better match scp/rcp's handling of globs that don't match
the globbed characters but do match literally (e.g. trying to transfer
a file named "foo.[1]"). Previously scp(1) in SFTP mode would not
match these pathnames but legacy scp/rcp mode would.
- ssh-agent(1): document the "-O no-restrict-websafe" command-line
option.
- ssh(1): honour user's umask(2) if it is more restrictive then the ssh
default (022).
- sshd(8): allow writev(2) in the Linux seccomp sandbox. This seems to
be used by recent glibcs at least in some configurations during error
conditions.
- sshd(8): simplify handling of SSH_CONNECTION PAM env var, removing
global variable and checking the return value from pam_putenv.
- sshd(8): disable SANDBOX_SECCOMP_FILTER_DEBUG that was mistakenly
enabled during the OpenSSH 9.1 release cycle.
- sshd(8): defer PRNG seeding until after the initial closefrom(2) call.
PRNG seeding will initialize OpenSSL, and some engine providers (e.g.
Intel's QAT) will open descriptors for their own use that closefrom(2)
could clobber.
* debian/run-tests: Add a little more flexibility for debugging.
-- Colin Watson <cjwatson@debian.org> Wed, 08 Feb 2023 10:36:06 +0000
openssh (1:9.1p1-2) unstable; urgency=medium
[ Christian Göttsche ]
* Do not copy SELinux security context in postinst.
[ Colin Watson ]
* Add missing ${misc:Depends} to Depends for openssh-client-udeb,
openssh-server-udeb.
* Use secure URI in Homepage field.
* Remove 2 obsolete maintscript entries in 2 files.
* Fix day-of-week for changelog entries 1:3.0.2p1-9, 1:3.0.2p1-2,
1:3.0.1p1-1.
* Remove deprecated Encoding key from desktop file
debian/ssh-askpass-gnome.desktop.
* Update standards version to 4.6.2, no changes needed.
* debian/tests/regress: Adjust to cope with changes in adduser 3.130 (see
#625758).
-- Colin Watson <cjwatson@debian.org> Tue, 03 Jan 2023 11:57:19 +0000
openssh (1:9.1p1-1) unstable; urgency=medium
[ Markus Teich ]
* Delete obsolete upstart configuration override.
[ Colin Watson ]
* Work around apparent dh-exec regressions (closes: #1016340).
* Don't install unnecessary *.lo files in openssh-tests.
* Update Lintian overrides to current syntax.
* Pass on compiler/linker flags when building debian/keygen-test.
* Remove obsolete and misleading rcp/rlogin/rsh alternatives, and stop
providing rsh-client (closes: #197037).
* Add sshd_config checksums for 1:8.2p1-1 and 1:8.7p1-1 to ucf reference
file.
* New upstream release (https://www.openssh.com/releasenotes.html#9.1p1,
closes: #1021585):
- ssh-keyscan(1): fix a one-byte overflow in SSH- banner processing.
- ssh-keygen(1): double free() in error path of file hashing step in
signing/verify code.
- ssh-keysign(8): double-free in error path introduced in openssh-8.9.
- ssh(1), sshd(8): SetEnv directives in ssh_config and sshd_config are
now first-match-wins to match other directives. Previously if an
environment variable was multiply specified the last set value would
have been used.
- ssh-keygen(8): ssh-keygen -A (generate all default host key types)
will no longer generate DSA keys, as these are insecure and have not
been used by default for some years.
- ssh(1), sshd(8): add a RequiredRSASize directive to set a minimum RSA
key length. Keys below this length will be ignored for user
authentication and for host authentication in sshd(8). ssh(1) will
terminate a connection if the server offers an RSA key that falls
below this limit, as the SSH protocol does not include the ability to
retry a failed key exchange.
- sftp-server(8): add a "users-groups-by-id@openssh.com" extension
request that allows the client to obtain user/group names that
correspond to a set of uids/gids.
- sftp(1): use "users-groups-by-id@openssh.com" sftp-server extension
(when available) to fill in user/group names for directory listings.
- sftp-server(8): support the "home-directory" extension request defined
in draft-ietf-secsh-filexfer-extensions-00. This overlaps a bit with
the existing "expand-path@openssh.com", but some other clients support
it.
- ssh-keygen(1), sshd(8): allow certificate validity intervals, sshsig
verification times and authorized_keys expiry-time options to accept
dates in the UTC time zone in addition to the default of interpreting
them in the system time zone. YYYYMMDD and YYMMDDHHMM[SS] dates/times
will be interpreted as UTC if suffixed with a 'Z' character. Also
allow certificate validity intervals to be specified in raw
seconds-since-epoch as hex value, e.g. -V 0x1234:0x4567890. This is
intended for use by regress tests and other tools that call ssh-keygen
as part of a CA workflow.
- sftp(1): allow arguments to the sftp -D option, e.g. sftp -D
"/usr/libexec/sftp-server -el debug3".
- ssh-keygen(1): allow the existing -U (use agent) flag to work with "-Y
sign" operations, where it will be interpreted to require that the
private keys is hosted in an agent.
- ssh-keygen(1): implement the "verify-required" certificate option.
This was already documented when support for user-verified FIDO keys
was added, but the ssh-keygen(1) code was missing.
- ssh-agent(1): hook up the restrict_websafe command-line flag;
previously the flag was accepted but never actually used.
- sftp(1): improve filename tab completions: never try to complete names
to non-existent commands, and better match the completion type (local
or remote filename) against the argument position being completed.
- ssh-keygen(1), ssh(1), ssh-agent(1): several fixes to FIDO key
handling, especially relating to keys that request user-verification.
These should reduce the number of unnecessary PIN prompts for keys
that support intrinsic user verification.
- ssh-keygen(1): when enrolling a FIDO resident key, check if a
credential with matching application and user ID strings already
exists and, if so, prompt the user for confirmation before overwriting
the credential.
- sshd(8): improve logging of errors when opening authorized_keys files.
- ssh(1): avoid multiplexing operations that could cause SIGPIPE from
causing the client to exit early.
- ssh_config(5), sshd_config(5): clarify that the RekeyLimit directive
applies to both transmitted and received data.
- ssh-keygen(1): avoid double fclose() in error path.
- sshd(8): log an error if pipe() fails while accepting a connection.
- ssh-keyscan(1): add missing *-sk types to ssh-keyscan manpage.
- sshd(8): ensure that authentication passwords are cleared from memory
in error paths.
- ssh(1), ssh-agent(1): avoid possibility of notifier code executing
kill(-1).
- ssh_config(5): note that the ProxyJump directive also accepts the same
tokens as ProxyCommand.
- scp(1): do not ftruncate(3) files early when in sftp mode. The
previous behaviour of unconditionally truncating the destination file
would cause "scp ~/foo localhost:foo" and the reverse "scp
localhost:foo ~/foo" to delete all the contents of their destination.
- ssh-keygen(1): improve error message when 'ssh-keygen -Y sign' is
unable to load a private key.
- sftp(1), scp(1): when performing operations that glob(3) a remote
path, ensure that the implicit working directory used to construct
that path escapes glob(3) characters. This prevents glob characters
from being processed in places they shouldn't, e.g. "cd /tmp/a*/",
"get *.txt" should have the get operation treat the path "/tmp/a*"
literally and not attempt to expand it (LP: #1483751).
- ssh(1), sshd(8): be stricter in which characters will be accepted in
specifying a mask length; allow only 0-9.
- ssh-keygen(1): avoid printing hash algorithm twice when dumping a KRL.
- ssh(1), sshd(8): continue running local I/O for open channels during
SSH transport rekeying. This should make ~-escapes work in the client
(e.g. to exit) if the connection happened to have stalled during a
rekey event.
- ssh(1), sshd(8): avoid potential poll() spin during rekeying.
- Further hardening for sshbuf internals: disallow "reparenting" a
hierarchical sshbuf and zero the entire buffer if reallocation fails.
- sshd(8): add AUDIT_ARCH_PPC to supported seccomp sandbox
architectures.
* Drop patch to work around https://twistedmatrix.com/trac/ticket/9765,
since the fix for that is in Debian testing.
* Rewrite gnome-ssh-askpass(1) manual page using mdoc macros, and flesh it
out a bit more.
[ Steve Langasek ]
* Support systemd socket activation. Migrate any existing inetd-style
socket activation to systemd socket activation.
[ Gioele Barabucci ]
* Remove ancient version constraints.
* d/openssh-server.{postinst,config}: get_config_option: Replace perl with
sed.
-- Colin Watson <cjwatson@debian.org> Mon, 14 Nov 2022 16:25:45 +0000
openssh (1:9.0p1-1ubuntu8.1) lunar; urgency=medium
* debian/patches/systemd-socket-activation.patch: Fix re-execution behavior
(LP: #2011458):
- Remove FD_CLOEXEC on fds passed by systemd to prevent automatic closing
when sshd re-executes.
- Do not manually close fds passed by systemd when re-executing.
- Only call sd_listen_fds() once, and only in the parent process.
- Check the LISTEN_FDS environment variable to get the number of fds
passed by systemd when re-executing as a child process.
* debian/tests/systemd-socket-activation: Add autopkgtest for systemd socket
activation functionality.
-- Nick Rosbrook <nick.rosbrook@canonical.com> Fri, 31 Mar 2023 12:44:32 -0400
openssh (1:9.0p1-1ubuntu8) lunar; urgency=medium
* debian/openssh-server.postinst: Fix handling of ListenAddress when a port
is specified (LP: #1993478):
- Strip port before converting hostnames to numerical addresses.
- Only append ports when the ListenAddress does not already specify a
port.
- Revert socket migration on upgrade if a previous version did the
migration when it should not have.
* debian/openssh-server.postinst: Ignore empty directory failure from rmdir
when skipping socket migration (LP: #1995294).
-- Nick Rosbrook <nick.rosbrook@canonical.com> Tue, 25 Oct 2022 11:57:43 -0400
openssh (1:9.0p1-1ubuntu7) kinetic; urgency=medium
* Update list of stock sshd_config checksums to include those from
jammy and kinetic.
* Add a workaround for LP: #1990863 (now fixed in livecd-rootfs) to
avoid spurious ucf prompts on upgrade.
* Move /run/sshd creation out of the systemd unit to a tmpfile config
so that sshd can be run manually if necessary without having to create
this directory by hand. LP: #1991283.
[ Nick Rosbrook ]
* debian/openssh-server.postinst: Fix addresses.conf generation when only
non-default Port is used in /etc/ssh/sshd_config (LP: #1991199).
-- Steve Langasek <vorlon@debian.org> Mon, 26 Sep 2022 21:55:14 +0000
openssh (1:9.0p1-1ubuntu6) kinetic; urgency=medium
* Fix syntax error in postinst :/
-- Steve Langasek <vorlon@debian.org> Fri, 23 Sep 2022 19:51:32 +0000
openssh (1:9.0p1-1ubuntu5) kinetic; urgency=medium
* Correctly handle the case of new installs, and correctly apply systemd
unit overrides on upgrade from existing kinetic systems.
-- Steve Langasek <vorlon@debian.org> Fri, 23 Sep 2022 19:45:18 +0000
openssh (1:9.0p1-1ubuntu4) kinetic; urgency=medium
* Don't migrate users to socket activation if multiple ListenAddresses
might make sshd unreliable on boot.
* Fix regexp bug that prevented proper migration of IPv6 address settings.
-- Steve Langasek <vorlon@debian.org> Fri, 23 Sep 2022 19:35:37 +0000
openssh (1:9.0p1-1ubuntu3) kinetic; urgency=medium
* Document in the default sshd_config file the changes in behavior
triggered by use of socket-based activation.
-- Steve Langasek <steve.langasek@ubuntu.com> Fri, 26 Aug 2022 00:40:11 +0000
openssh (1:9.0p1-1ubuntu2) kinetic; urgency=medium
* Fix manpage to not claim socket-based activation is the default on
Debian!
-- Steve Langasek <steve.langasek@ubuntu.com> Fri, 26 Aug 2022 00:21:42 +0000
openssh (1:9.0p1-1ubuntu1) kinetic; urgency=medium
* debian/patches/systemd-socket-activation.patch: support systemd
socket activation.
* debian/systemd/ssh.socket, debian/systemd/ssh.service: use socket
activation by default.
* debian/rules: rejigger dh_installsystemd invocations so ssh.service and
ssh.socket don't fight.
* debian/openssh-server.postinst: handle migration of sshd_config options
to systemd socket options on upgrade.
* debian/README.Debian: document systemd socket activation.
* debian/patches/socket-activation-documentation.patch: Document in
sshd_config(5) that ListenAddress and Port no longer work.
* debian/openssh-server.templates, debian/openssh-server.postinst: include
debconf warning about possible service failure with multiple
ListenAddress settings.
-- Steve Langasek <steve.langasek@ubuntu.com> Fri, 19 Aug 2022 20:43:16 +0000
openssh (1:9.0p1-1) unstable; urgency=medium
* New upstream release (https://www.openssh.com/releasenotes.html#9.0p1):
- scp(1): Use the SFTP protocol by default (closes: #144579, #204546,
#327019). This changes scp's quoting semantics by no longer performing
wildcard expansion using the remote shell, and (with some server
versions) no longer expanding ~user paths. The -O option is available
to use the old protocol. See NEWS.Debian for more details.
- ssh(1), sshd(8): use the hybrid Streamlined NTRU Prime + x25519 key
exchange method by default ("sntrup761x25519-sha512@openssh.com").
The NTRU algorithm is believed to resist attacks enabled by future
quantum computers and is paired with the X25519 ECDH key exchange (the
previous default) as a backstop against any weaknesses in NTRU Prime
that may be discovered in the future. The combination ensures that the
hybrid exchange offers at least as good security as the status quo.
- sftp-server(8): support the "copy-data" extension to allow server-
side copying of files/data, following the design in
draft-ietf-secsh-filexfer-extensions-00.
- sftp(1): add a "cp" command to allow the sftp client to perform
server-side file copies.
- ssh(1), sshd(8): upstream: fix poll(2) spin when a channel's output fd
closes without data in the channel buffer (closes: #1007822).
- sshd(8): pack pollfd array in server listen/accept loop. Could cause
the server to hang/spin when MaxStartups > RLIMIT_NOFILE.
- ssh-keygen(1): avoid NULL deref via the find-principals and
check-novalidate operations. bz3409 and GHPR307 respectively.
- scp(1): fix a memory leak in argument processing.
- sshd(8): don't try to resolve ListenAddress directives in the sshd
re-exec path. They are unused after re-exec and parsing errors
(possible for example if the host's network configuration changed)
could prevent connections from being accepted.
- sshd(8): when refusing a public key authentication request from a
client for using an unapproved or unsupported signature algorithm
include the algorithm name in the log message to make debugging
easier.
- ssh(1), sshd(8): Fix possible integer underflow in scan_scaled(3)
parsing of K/M/G/etc quantities.
- sshd(8): default to not using sandbox when cross compiling. On most
systems poll(2) does not work when the number of FDs is reduced with
setrlimit, so assume it doesn't when cross compiling and we can't run
the test.
* Remove obsolete FAQ, removed from openssh.com in 2016.
-- Colin Watson <cjwatson@debian.org> Sat, 09 Apr 2022 14:14:10 +0100
openssh (1:8.9p1-3) unstable; urgency=medium
* Allow ppoll_time64 in seccomp filter (closes: #1006445).
-- Colin Watson <cjwatson@debian.org> Fri, 25 Feb 2022 23:30:49 +0000
openssh (1:8.9p1-2) unstable; urgency=medium
* Improve detection of -fzero-call-used-regs=all support.
-- Colin Watson <cjwatson@debian.org> Thu, 24 Feb 2022 16:09:56 +0000
openssh (1:8.9p1-1) unstable; urgency=medium
* New upstream release (https://www.openssh.com/releasenotes.html#8.9p1):
- sshd(8): fix an integer overflow in the user authentication path that,
in conjunction with other logic errors, could have yielded
unauthenticated access under difficult to exploit conditions.
- sshd(8), portable OpenSSH only: this release removes in-built support
for MD5-hashed passwords.
- ssh(1), sshd(8), ssh-add(1), ssh-agent(1): add a system for
restricting forwarding and use of keys added to ssh-agent(1).
- ssh(1), sshd(8): add the sntrup761x25519-sha512@openssh.com hybrid
ECDH/x25519 + Streamlined NTRU Prime post-quantum KEX to the default
KEXAlgorithms list (after the ECDH methods but before the prime-group
DH ones). The next release of OpenSSH is likely to make this key
exchange the default method.
- ssh-keygen(1): when downloading resident keys from a FIDO token, pass
back the user ID that was used when the key was created and append it
to the filename the key is written to (if it is not the default).
Avoids keys being clobbered if the user created multiple resident keys
with the same application string but different user IDs.
- ssh-keygen(1), ssh(1), ssh-agent(1): better handling for FIDO keys on
tokens that provide user verification (UV) on the device itself,
including biometric keys, avoiding unnecessary PIN prompts.
- ssh-keygen(1): add "ssh-keygen -Y match-principals" operation to
perform matching of principals names against an allowed signers file.
To be used towards a TOFU model for SSH signatures in git.
- ssh-add(1), ssh-agent(1): allow pin-required FIDO keys to be added to
ssh-agent(1). $SSH_ASKPASS will be used to request the PIN at
authentication time.
- ssh-keygen(1): allow selection of hash at sshsig signing time (either
sha512 (default) or sha256).
- ssh(1), sshd(8): read network data directly to the packet input buffer
instead indirectly via a small stack buffer. Provides a modest
performance improvement.
- ssh(1), sshd(8): read data directly to the channel input buffer,
providing a similar modest performance improvement.
- ssh(1): extend the PubkeyAuthentication configuration directive to
accept yes|no|unbound|host-bound to allow control over one of the
protocol extensions used to implement agent-restricted keys.
- sshd(8): document that CASignatureAlgorithms, ExposeAuthInfo and
PubkeyAuthOptions can be used in a Match block.
- sshd(8): fix possible string truncation when constructing paths to
.rhosts/.shosts files with very long user home directory names.
- ssh-keysign(1): unbreak for KEX algorithms that use SHA384/512
exchange hashes.
- ssh(1): don't put the TTY into raw mode when SessionType=none, avoids
^C being unable to kill such a session.
- scp(1): fix some corner-case bugs in SFTP-mode handling of ~-prefixed
paths.
- ssh(1): unbreak hostbased auth using RSA keys. Allow ssh(1) to select
RSA keys when only RSA/SHA2 signature algorithms are configured (this
is the default case). Previously RSA keys were not being considered in
the default case.
- ssh-keysign(1): make ssh-keysign use the requested signature algorithm
and not the default for the key type. Part of unbreaking hostbased
auth for RSA/SHA2 keys.
- ssh(1): stricter UpdateHostkey signature verification logic on the
client-side. Require RSA/SHA2 signatures for RSA hostkeys except when
RSA/SHA1 was explicitly negotiated during initial KEX.
- ssh(1), sshd(8): fix signature algorithm selection logic for
UpdateHostkeys on the server side. The previous code tried to prefer
RSA/SHA2 for hostkey proofs of RSA keys, but missed some cases. This
will use RSA/SHA2 signatures for RSA keys if the client proposed these
algorithms in initial KEX.
- All: convert all uses of select(2)/pselect(2) to poll(2)/ppoll(2).
This includes the mainloops in ssh(1), ssh-agent(1), ssh-agent(1) and
sftp-server(8), as well as the sshd(8) listen loop and all other FD
read/writability checks. On platforms with missing or broken
poll(2)/ppoll(2) syscalls a select(2)-based compat shim is available.
- ssh-keygen(1): the "-Y find-principals" command was verifying key
validity when using ca certs but not with simple key lifetimes within
the allowed signers file.
- ssh-keygen(1): make sshsig verify-time argument parsing optional.
- sshd(8): fix truncation in rhosts/shosts path construction.
- ssh(1), ssh-agent(1): avoid xmalloc(0) for PKCS#11 keyid for ECDSA
keys (we already did this for RSA keys). Avoids fatal errors for
PKCS#11 libraries that return empty keyid, e.g. Microchip ATECC608B
"cryptoauthlib".
- ssh(1), ssh-agent(1): improve the testing of credentials against
inserted FIDO: ask the token whether a particular key belongs to it in
cases where the token supports on-token user-verification (e.g.
biometrics) rather than just assuming that it will accept it. Will
reduce spurious "Confirm user presence" notifications for key handles
that relate to FIDO keys that are not currently inserted in at least
some cases.
- ssh(1), sshd(8): correct value for IPTOS_DSCP_LE. It needs to allow
for the preceding two ECN bits.
- ssh-keygen(1): add missing -O option to usage() for the "-Y sign"
option.
- ssh-keygen(1): fix a NULL deref when using the find-principals
function, when matching an allowed_signers line that contains a
namespace restriction, but no restriction specified on the
command-line
- ssh-agent(1): fix memleak in process_extension().
- ssh(1): suppress "Connection to xxx closed" messages when LogLevel is
set to "error" or above.
- ssh(1), sshd(8): use correct zlib flags when inflate(3)-ing compressed
packet data.
- scp(1): when recursively transferring files in SFTP mode, create the
destination directory if it doesn't already exist to match scp(1) in
legacy RCP mode behaviour.
- scp(1): many improvements in error message consistency between scp(1)
in SFTP mode vs legacy RCP mode.
- sshd(8): fix potential race in SIGTERM handling.
- ssh(1), ssh(8): since DSA keys are deprecated, move them to the end of
the default list of public keys so that they will be tried last.
- ssh-keygen(1): allow 'ssh-keygen -Y find-principals' to match wildcard
principals in allowed_signers files.
- ssh(1), sshd(8): don't trust closefrom(2) on Linux. glibc's
implementation does not work in a chroot when the kernel does not have
close_range(2). It tries to read from /proc/self/fd and when that
fails dies with an assertion of sorts. Instead, call close_range(2)
directly from our compat code and fall back if that fails.
- Correct handling of exceptfds/POLLPRI in our select(2)-based
poll(2)/ppoll(2) compat implementation.
* Drop patch to work around https://twistedmatrix.com/trac/ticket/9515,
since the fix for that is in Debian stable.
-- Colin Watson <cjwatson@debian.org> Thu, 24 Feb 2022 11:06:15 +0000
openssh (1:8.8p1-1) unstable; urgency=medium
* New upstream release (https://www.openssh.com/releasenotes.html#8.8p1,
closes: #996391):
- This release disables RSA signatures using the SHA-1 hash algorithm by
default. (Existing RSA keys may still be used and do not need to be
replaced; see NEWS.Debian if you have problems connecting to old SSH
servers.)
- ssh(1): allow the ssh_config(5) CanonicalizePermittedCNAMEs directive
to accept a "none" argument to specify the default behaviour.
- scp(1): when using the SFTP protocol, continue transferring files
after a transfer error occurs, better matching original scp/rcp
behaviour.
- ssh(1): fixed a number of memory leaks in multiplexing,
- ssh-keygen(1): avoid crash when using the -Y find-principals command.
- A number of documentation and manual improvements.
- ssh(1)/sshd(8): some fixes to the pselect(2) replacement compatibility
code.
* Work around missing RSA SHA-2 signature support in conch until the
upstream fix lands in Debian.
-- Colin Watson <cjwatson@debian.org> Tue, 15 Feb 2022 19:20:21 +0000
openssh (1:8.7p1-4) unstable; urgency=medium
[ Daniel Baumann ]
* Fix typo in openssh-client.alternatives (closes: #1002803).
[ Colin Watson ]
* Further clarify socket activation instructions.
-- Colin Watson <cjwatson@debian.org> Wed, 29 Dec 2021 12:08:38 +0000
openssh (1:8.7p1-3) unstable; urgency=medium
* Include unit test binaries in openssh-tests even if building with
DEB_BUILD_OPTIONS=nocheck.
* Install built version of sshd_config, with corrected PATH and PidFile.
* Upgrade to debhelper v13.
* debian/copyright: Use HTTPS in Source field.
* Update renamed Lintian tag name in Lintian override.
* debian/watch: Upgrade to version 4.
* Clarify instructions for using socket activation to avoid accidental
attempts to start the non-socket-activated service that can result in
systems without a running sshd (closes: #1001320).
* Remove maintainer script code for upgrades from before Debian 9.
* Make the sysvinit script provide "ssh" as well as "sshd".
* Set Rules-Requires-Root: no.
* Use dh_installalternatives.
* Simplify some debhelper overrides slightly.
-- Colin Watson <cjwatson@debian.org> Wed, 29 Dec 2021 01:12:00 +0000
openssh (1:8.7p1-2) unstable; urgency=medium
* Backport from upstream:
- Avoid NULL deref in -Y find-principals (closes: #999593).
-- Colin Watson <cjwatson@debian.org> Sat, 13 Nov 2021 13:40:50 +0000
openssh (1:8.7p1-1) unstable; urgency=medium
* debian/upstream/signing-key.asc: Update from upstream.
* New upstream release (https://www.openssh.com/releasenotes.html#8.7p1):
- scp(1): this release changes the behaviour of remote to remote copies
(e.g. "scp host-a:/path host-b:") to transfer through the local host
by default (closes: #734386, LP: #1462758). This was previously
available via the -3 flag. A -R flag has been added to select the old
behaviour.
- ssh(1)/sshd(8): both the client and server are now using a stricter
configuration file parser.
- ssh(1): when using SSHFP DNS records for host key verification, ssh(1)
will verify all matching records instead of just those with the
specific signature type requested.
- ssh-keygen(1): when generating a FIDO key and specifying an explicit
attestation challenge (using -Ochallenge), the challenge will now be
hashed by the builtin security key middleware.
- sshd(8): environment="..." directives in authorized_keys files are now
first-match-wins and limited to 1024 discrete environment variable
names.
- scp(1): experimental support for transfers using the SFTP protocol as
a replacement for the venerable SCP/RCP protocol that it has
traditionally used. SFTP offers more predictable filename handling and
does not require expansion of glob(3) patterns via the shell on the
remote side.
SFTP support may be enabled via a temporary scp -s flag. It is
intended for SFTP to become the default transfer mode in the near
future, at which time the -s flag will be removed. The -O flag exists
to force use of the original SCP/RCP protocol for cases where SFTP may
be unavailable or incompatible.
- sftp-server(8): add a protocol extension to support expansion of ~/
and ~user/ prefixed paths. This was added to support these paths when
used by scp(1) while in SFTP mode.
- ssh(1): add a ForkAfterAuthentication ssh_config(5) counterpart to the
ssh(1) -f flag. GHPR231
- ssh(1): add a StdinNull directive to ssh_config(5) that allows the
config file to do the same thing as -n does on the ssh(1) command-
line. GHPR231
- ssh(1): add a SessionType directive to ssh_config, allowing the
configuration file to offer equivalent control to the -N (no session)
and -s (subsystem) command-line flags (closes: #609122).
- ssh-keygen(1): allowed signers files used by ssh-keygen(1) signatures
now support listing key validity intervals alongside they key, and
ssh-keygen(1) can optionally check during signature verification
whether a specified time falls inside this interval. This feature is
intended for use by git to support signing and verifying objects using
ssh keys.
- ssh-keygen(8): support printing of the full public key in a sshsig
signature via a -Oprint-pubkey flag.
- ssh(1)/sshd(8): start time-based re-keying exactly on schedule in the
client and server mainloops. Previously the re-key timeout could
expire but re-keying would not start until a packet was sent or
received, causing a spin in select() if the connection was quiescent.
- ssh-keygen(1): avoid Y2038 problem in printing certificate validity
lifetimes. Dates past 2^31-1 seconds since epoch were displayed
incorrectly on some platforms.
- scp(1): allow spaces to appear in usernames for local to remote and
scp -3 remote to remote copies.
- ssh(1)/sshd(8): remove references to ChallengeResponseAuthentication
in favour of KbdInteractiveAuthentication. The former is what was in
SSHv1, the latter is what is in SSHv2 (RFC4256) and they were treated
as somewhat but not entirely equivalent. We retain the old name as a
deprecated alias so configuration files continue to work as well as a
reference in the man page for people looking for it.
- ssh(1)/ssh-add(1)/ssh-keygen(1): fix decoding of X.509 subject name
when extracting a key from a PKCS#11 certificate.
- ssh(1): restore blocking status on stdio fds before close. ssh(1)
needs file descriptors in non-blocking mode to operate but it was not
restoring the original state on exit. This could cause problems with
fds shared with other programs via the shell.
- ssh(1)/sshd(8): switch both client and server mainloops from select(3)
to pselect(3). Avoids race conditions where a signal may arrive
immediately before select(3) and not be processed until an event
fires.
- ssh(1): sessions started with ControlPersist were incorrectly
executing a shell when the -N (no shell) option was specified (closes:
#762633).
- ssh(1): check if IPQoS or TunnelDevice are already set before
overriding. Prevents values in config files from overriding values
supplied on the command line.
- ssh(1): fix debug message when finding a private key to match a
certificate being attempted for user authentication. Previously it
would print the certificate's path, whereas it was supposed to be
showing the private key's path.
- sshd(8): match host certificates against host public keys, not private
keys. Allows use of certificates with private keys held in a
ssh-agent.
- ssh(1): add a workaround for a bug in OpenSSH 7.4 sshd(8), which
allows RSA/SHA2 signatures for public key authentication but fails to
advertise this correctly via SSH2_MSG_EXT_INFO. This causes clients of
these server to incorrectly match PubkeyAcceptedAlgorithms and
potentially refuse to offer valid keys.
- sftp(1)/scp(1): degrade gracefully if a sftp-server offers the
limits@openssh.com extension but fails when the client tries to invoke
it.
- ssh(1): allow ssh_config SetEnv to override $TERM, which is otherwise
handled specially by the protocol. Useful in ~/.ssh/config to set TERM
to something generic (e.g. "xterm" instead of "xterm-256color") for
destinations that lack terminfo entries.
- sftp-server(8): the limits@openssh.com extension was incorrectly
marked as an operation that writes to the filesystem, which made it
unavailable in sftp-server read-only mode.
- ssh(1): fix SEGV in UpdateHostkeys debug() message, triggered when the
update removed more host keys than remain present.
- Many manual page fixes.
- sshd(8): handle GIDs > 2^31 in getgrouplist. When compiled in 32bit
mode, the getgrouplist implementation may fail for GIDs greater than
LONG_MAX.
- ssh(1): xstrdup environment variable used by ForwardAgent.
- sshd(8): don't sigdie() in signal handler in privsep child process;
this can end up causing sandbox violations.
* New upstream release (https://www.openssh.com/releasenotes.html#8.6p1):
- sftp-server(8): add a new limits@openssh.com protocol extension that
allows a client to discover various server limits, including maximum
packet size and maximum read/write length.
- sftp(1): use the new limits@openssh.com extension (when available) to
select better transfer lengths in the client.
- sshd(8): Add ModuliFile keyword to sshd_config to specify the location
of the "moduli" file containing the groups for DH-GEX.
- ssh_config(5), sshd_config(5): sync CASignatureAlgorithms lists in
manual pages with the current default.
- ssh(1): ensure that pkcs11_del_provider() is called before exit.
- ssh(1), sshd(8): fix problems in string->argv conversion. Multiple
backslashes were not being dequoted correctly and quoted space in the
middle of a string was being incorrectly split.
- ssh(1): return non-zero exit status when killed by signal.
- sftp-server(8): increase maximum SSH2_FXP_READ to match the maximum
packet size. Also handle zero-length reads that are not explicitly
banned by the spec.
- sshd(8): don't mistakenly exit on transient read errors on the network
socket (e.g. EINTR, EAGAIN).
- Create a dedicated contrib/gnome-ssk-askpass3.c source instead of
building it from the same file as used for GNOME2. Use the GNOME3
gdk_seat_grab() to manage keyboard/mouse/server grabs for better
compatibility with Wayland.
- sshd(8): soft-disallow the fstatat64 syscall in the Linux seccomp-bpf
sandbox.
* New upstream release (https://www.openssh.com/releasenotes.html#8.5p1):
- ssh(1), sshd(8): change the first-preference signature algorithm from
ECDSA to ED25519.
- ssh(1), sshd(8): set the TOS/DSCP specified in the configuration for
interactive use prior to TCP connect.
- ssh(1), sshd(8): remove the pre-standardization cipher
rijndael-cbc@lysator.liu.se.
- ssh(1), sshd(8): update/replace the experimental post-quantum hybrid
key exchange method based on Streamlined NTRU Prime coupled with
X25519.
- ssh(1): disable CheckHostIP by default. It provides insignificant
benefits while making key rotation significantly more difficult,
especially for hosts behind IP-based load-balancers (closes: #764027).
- ssh(1): enable UpdateHostkeys by default subject to some conservative
preconditions (closes: #875532):
+ The key was matched in the UserKnownHostsFile (and not in the
GlobalKnownHostsFile).
+ The same key does not exist under another name.
+ A certificate host key is not in use.
+ known_hosts contains no matching wildcard hostname pattern.
+ VerifyHostKeyDNS is not enabled.
+ The default UserKnownHostsFile is in use.
We expect some of these conditions will be modified or relaxed in
future.
- ssh(1), sshd(8): add a new LogVerbose configuration directive that
allows forcing maximum debug logging by file/function/line
pattern-lists.
- ssh(1): when prompting the user to accept a new hostkey, display any
other host names/addresses already associated with the key.
- ssh(1): allow UserKnownHostsFile=none to indicate that no known_hosts
file should be used to identify host keys.
- ssh(1): add a ssh_config KnownHostsCommand option that allows the
client to obtain known_hosts data from a command in addition to the
usual files.
- ssh(1): add a ssh_config PermitRemoteOpen option that allows the
client to restrict the destination when RemoteForward is used with
SOCKS.
- ssh(1): for FIDO keys, if a signature operation fails with a
"incorrect PIN" reason and no PIN was initially requested from the
user, then request a PIN and retry the operation. This supports some
biometric devices that fall back to requiring PIN when reading of the
biometric failed, and devices that require PINs for all hosted
credentials.
- sshd(8): implement client address-based rate-limiting via new
sshd_config(5) PerSourceMaxStartups and PerSourceNetBlockSize
directives that provide more fine-grained control on a per-origin
address basis than the global MaxStartups limit.
- ssh(1): Prefix keyboard interactive prompts with "(user@host)" to make
it easier to determine which connection they are associated with in
cases like scp -3, ProxyJump, etc. (closes: #343267).
- sshd(8): fix sshd_config SetEnv directives located inside Match
blocks.
- ssh(1): when requesting a FIDO token touch on stderr, inform the user
once the touch has been recorded.
- ssh(1): prevent integer overflow when ridiculously large
ConnectTimeout values are specified, capping the effective value (for
most platforms) at 24 days.
- ssh(1): consider the ECDSA key subtype when ordering host key
algorithms in the client.
- ssh(1), sshd(8): rename the PubkeyAcceptedKeyTypes keyword to
PubkeyAcceptedAlgorithms. The previous name incorrectly suggested that
it control allowed key algorithms, when this option actually specifies
the signature algorithms that are accepted. The previous name remains
available as an alias (closes: #933665).
- ssh(1), sshd(8): similarly, rename HostbasedKeyTypes (ssh) and
HostbasedAcceptedKeyTypes (sshd) to HostbasedAcceptedAlgorithms.
- sftp-server(8): add missing lsetstat@openssh.com documentation and
advertisement in the server's SSH2_FXP_VERSION hello packet.
- ssh(1), sshd(8): more strictly enforce KEX state-machine by banning
packet types once they are received. Fixes memleak caused by duplicate
SSH2_MSG_KEX_DH_GEX_REQUEST.
- sftp(1): allow the full range of UIDs/GIDs for chown/chgrp on 32bit
platforms instead of being limited by LONG_MAX.
- Minor man page fixes (capitalization, commas, etc.)
- sftp(1): when doing an sftp recursive upload or download of a
read-only directory, ensure that the directory is created with write
and execute permissions in the interim so that the transfer can
actually complete, then set the directory permission as the final
step.
- ssh-keygen(1): document the -Z, check the validity of its argument
earlier and provide a better error message if it's not correct.
- ssh(1): ignore comments at the end of config lines in ssh_config,
similar to what we already do for sshd_config.
- sshd_config(5): mention that DisableForwarding is valid in a
sshd_config Match block.
- sftp(1): fix incorrect sorting of "ls -ltr" under some circumstances.
- ssh(1), sshd(8): fix potential integer truncation of (unlikely)
timeout values.
- ssh(1): make hostbased authentication send the signature algorithm in
its SSH2_MSG_USERAUTH_REQUEST packets instead of the key type. This
make HostbasedAcceptedAlgorithms do what it is supposed to - filter on
signature algorithm and not key type.
- sshd(8): add a number of platform-specific syscalls to the Linux
seccomp-bpf sandbox.
- sshd(8): remove debug message from sigchld handler that could cause
deadlock on some platforms.
- Sync contrib/ssh-copy-id with upstream.
* Remove OpenBSD-specific rdomain references from sshd_config(5) (closes:
#998069).
* Define MAXHOSTNAMELEN on GNU/Hurd (thanks, Svante Signell; closes:
#997030).
* Build-depend on libelogind-dev as an alternative to libsystemd-dev on
Linux (thanks, Svante Signell; closes: #997035).
* Backport from upstream:
- CVE-2021-41617 (closes: #995130): sshd(8) from OpenSSH 6.2 through 8.7
failed to correctly initialise supplemental groups when executing an
AuthorizedKeysCommand or AuthorizedPrincipalsCommand, where a
AuthorizedKeysCommandUser or AuthorizedPrincipalsCommandUser directive
has been set to run the command as a different user. Instead these
commands would inherit the groups that sshd(8) was started with.
* Configure with ac_cv_func_closefrom=no to avoid an incompatibility with
glibc 2.34's fallback_closefrom function (thanks, William 'jawn-smith'
Wilson; LP: #1944621).
-- Colin Watson <cjwatson@debian.org> Sat, 06 Nov 2021 12:23:47 +0000
openssh (1:8.4p1-6) unstable; urgency=medium
[ Colin Watson ]
* Rename ssh group to _ssh (closes: #990456). It's only used by
ssh-agent.
* debian/tests/regress: Don't fail cleanup if haveged isn't running.
* Backport from upstream:
- Add includes.h to compat tests (closes: #992134, LP: #1939751).
* Use "command -v" in maintainer scripts rather than "which".
[ Athos Ribeiro ]
* d/systemd/ssh@.service: preserve the systemd managed runtime directory to
ensure parallel processes will not disrupt one another when halting
(LP: #1905285) (closes: #934663)
-- Colin Watson <cjwatson@debian.org> Thu, 19 Aug 2021 11:04:01 +0100
openssh (1:8.4p1-5) unstable; urgency=high
* CVE-2021-28041: Fix double free in ssh-agent(1) (closes: #984940).
-- Colin Watson <cjwatson@debian.org> Sat, 13 Mar 2021 09:59:40 +0000
openssh (1:8.4p1-4) unstable; urgency=medium
* Avoid using libmd's <sha2.h> even if it's installed (closes: #982705).
-- Colin Watson <cjwatson@debian.org> Mon, 15 Feb 2021 10:25:17 +0000
openssh (1:8.4p1-3) unstable; urgency=medium
* Backport from upstream:
- Fix `EOF: command not found` error in ssh-copy-id (closes: #975540).
-- Colin Watson <cjwatson@debian.org> Wed, 02 Dec 2020 10:32:23 +0000
openssh (1:8.4p1-2) unstable; urgency=medium
* Revert incorrect upstream patch that claimed to fix the seccomp sandbox
on x32 but in fact broke it instead.
-- Colin Watson <cjwatson@debian.org> Mon, 26 Oct 2020 17:41:13 +0000
openssh (1:8.4p1-1) unstable; urgency=medium
* New upstream release (https://www.openssh.com/txt/release-8.4):
- [SECURITY] ssh-agent(1): restrict ssh-agent from signing web
challenges for FIDO/U2F keys.
- [SECURITY] ssh-keygen(1): Enable FIDO 2.1 credProtect extension when
generating a FIDO resident key.
- ssh-keygen(1): the format of the attestation information optionally
recorded when a FIDO key is generated has changed. It now includes the
authenticator data needed to validate attestation signatures.
- The API between OpenSSH and the FIDO token middleware has changed and
the SSH_SK_VERSION_MAJOR version has been incremented as a result.
Third-party middleware libraries must support the current API version
(7) to work with OpenSSH 8.4.
- ssh(1), ssh-keygen(1): support for FIDO keys that require a PIN for
each use. These keys may be generated using ssh-keygen using a new
"verify-required" option. When a PIN-required key is used, the user
will be prompted for a PIN to complete the signature operation.
- sshd(8): authorized_keys now supports a new "verify-required" option
to require FIDO signatures assert that the token verified that the
user was present before making the signature. The FIDO protocol
supports multiple methods for user-verification, but currently OpenSSH
only supports PIN verification.
- sshd(8), ssh-keygen(1): add support for verifying FIDO webauthn
signatures. Webauthn is a standard for using FIDO keys in web
browsers. These signatures are a slightly different format to plain
FIDO signatures and thus require explicit support.
- ssh(1): allow some keywords to expand shell-style ${ENV} environment
variables. The supported keywords are CertificateFile, ControlPath,
IdentityAgent and IdentityFile, plus LocalForward and RemoteForward
when used for Unix domain socket paths.
- ssh(1), ssh-agent(1): allow some additional control over the use of
ssh-askpass via a new $SSH_ASKPASS_REQUIRE environment variable,
including forcibly enabling and disabling its use (closes: #368657).
- ssh(1): allow ssh_config(5)'s AddKeysToAgent keyword accept a time
limit for keys in addition to its current flag options. Time-limited
keys will automatically be removed from ssh-agent after their expiry
time has passed.
- scp(1), sftp(1): allow the -A flag to explicitly enable agent
forwarding in scp and sftp. The default remains to not forward an
agent, even when ssh_config enables it.
- ssh(1): add a '%k' TOKEN that expands to the effective HostKey of the
destination. This allows, e.g., keeping host keys in individual files
using "UserKnownHostsFile ~/.ssh/known_hosts.d/%k" (closes: #481250).
- ssh(1): add %-TOKEN, environment variable and tilde expansion to the
UserKnownHostsFile directive, allowing the path to be completed by the
configuration.
- ssh-keygen(1): allow "ssh-add -d -" to read keys to be deleted from
stdin.
- sshd(8): improve logging for MaxStartups connection throttling. sshd
will now log when it starts and stops throttling and periodically
while in this state.
- ssh(1), ssh-keygen(1): better support for multiple attached FIDO
tokens. In cases where OpenSSH cannot unambiguously determine which
token to direct a request to, the user is now required to select a
token by touching it. In cases of operations that require a PIN to be
verified, this avoids sending the wrong PIN to the wrong token and
incrementing the token's PIN failure counter (tokens effectively erase
their keys after too many PIN failures).
- sshd(8): fix Include before Match in sshd_config (LP: #1885990).
- ssh(1): close stdin/out/error when forking after authentication
completes ("ssh -f ...").
- ssh(1), sshd(8): limit the amount of channel input data buffered,
avoiding peers that advertise large windows but are slow to read from
causing high memory consumption.
- ssh-agent(1): handle multiple requests sent in a single write() to the
agent.
- sshd(8): allow sshd_config longer than 256k.
- sshd(8): avoid spurious "Unable to load host key" message when sshd
load a private key but no public counterpart.
- ssh(1): prefer the default hostkey algorithm list whenever we have a
hostkey that matches its best-preference algorithm.
- sshd(1): when ordering the hostkey algorithms to request from a
server, prefer certificate types if the known_hosts files contain a
key marked as a @cert-authority.
- ssh(1): perform host key fingerprint comparisons for the "Are you sure
you want to continue connecting (yes/no/[fingerprint])?" prompt with
case sensitivity.
- sshd(8): ensure that address/masklen mismatches in sshd_config yield
fatal errors at daemon start time rather than later when they are
evaluated.
- ssh-keygen(1): ensure that certificate extensions are lexically
sorted. Previously if the user specified a custom extension then the
everything would be in order except the custom ones.
- ssh(1): also compare username when checking for JumpHost loops.
- ssh-keygen(1): preserve group/world read permission on known_hosts
files across runs of "ssh-keygen -Rf /path". The old behaviour was to
remove all rights for group/other.
- ssh-keygen(1): Mention the [-a rounds] flag in the ssh-keygen manual
page and usage().
- sshd(8): explicitly construct path to ~/.ssh/rc rather than relying on
it being relative to the current directory, so that it can still be
found if the shell startup changes its directory.
- sshd(8): when redirecting sshd's log output to a file, undo this
redirection after the session child process is forked(). Fixes missing
log messages when using this feature under some circumstances.
- sshd(8): start ClientAliveInterval bookkeeping before first pass
through select() loop; fixed theoretical case where busy sshd may
ignore timeouts from client.
- ssh(1): only reset the ServerAliveInterval check when we receive
traffic from the server and ignore traffic from a port forwarding
client, preventing a client from keeping a connection alive when it
should be terminated.
- ssh-keygen(1): avoid spurious error message when ssh-keygen creates
files outside ~/.ssh.
- sftp-client(1): fix off-by-one error that caused sftp downloads to
make one more concurrent request that desired. This prevented using
sftp(1) in unpipelined request/response mode, which is useful when
debugging.
- ssh(1), sshd(8): handle EINTR in waitfd() and timeout_connect()
helpers.
- ssh(1), ssh-keygen(1): defer creation of ~/.ssh until we attempt to
write to it so we don't leave an empty .ssh directory when it's not
needed.
- ssh(1), sshd(8): fix multiplier when parsing time specifications when
handling seconds after other units.
- sshd(8): always send any PAM account messages. If the PAM account
stack returns any messages, always send them to the user and not just
if the check succeeds.
- gnome-ssh-askpass3: ensure the "close" button is not focused by
default for SSH_ASKPASS_PROMPT=none prompts. Avoids space/enter
accidentally dismissing FIDO touch notifications.
- gnome-ssh-askpass3: allow some control over textarea colour via
$GNOME_SSH_ASKPASS_FG_COLOR and $GNOME_SSH_ASKPASS_BG_COLOR
environment variables.
- Detect the Frankenstein monster of Linux/X32 and allow the sandbox to
function there.
-- Colin Watson <cjwatson@debian.org> Tue, 20 Oct 2020 14:15:17 +0100
openssh (1:8.3p1-1) unstable; urgency=medium
* New upstream release (https://www.openssh.com/txt/release-8.3):
- [SECURITY] scp(1): when receiving files, scp(1) could become
desynchronised if a utimes(2) system call failed. This could allow
file contents to be interpreted as file metadata and thereby permit an
adversary to craft a file system that, when copied with scp(1) in a
configuration that caused utimes(2) to fail (e.g. under a SELinux
policy or syscall sandbox), transferred different file names and
contents to the actual file system layout.
- sftp(1): reject an argument of "-1" in the same way as ssh(1) and
scp(1) do instead of accepting and silently ignoring it.
- sshd(8): make IgnoreRhosts a tri-state option: "yes" to ignore
rhosts/shosts, "no" to allow rhosts/shosts or (new) "shosts-only" to
allow .shosts files but not .rhosts.
- sshd(8): allow the IgnoreRhosts directive to appear anywhere in a
sshd_config, not just before any Match blocks.
- ssh(1): add %TOKEN percent expansion for the LocalForward and
RemoteForward keywords when used for Unix domain socket forwarding.
- all: allow loading public keys from the unencrypted envelope of a
private key file if no corresponding public key file is present.
- ssh(1), sshd(8): prefer to use chacha20 from libcrypto where possible
instead of the (slower) portable C implementation included in OpenSSH.
- ssh-keygen(1): add ability to dump the contents of a binary key
revocation list via "ssh-keygen -lQf /path".
- ssh(1): fix IdentitiesOnly=yes to also apply to keys loaded from a
PKCS11Provider.
- ssh-keygen(1): avoid NULL dereference when trying to convert an
invalid RFC4716 private key.
- scp(1): when performing remote-to-remote copies using "scp -3", start
the second ssh(1) channel with BatchMode=yes enabled to avoid
confusing and non-deterministic ordering of prompts.
- ssh(1), ssh-keygen(1): when signing a challenge using a FIDO token,
perform hashing of the message to be signed in the middleware layer
rather than in OpenSSH code. This permits the use of security key
middlewares that perform the hashing implicitly, such as Windows
Hello.
- ssh(1): fix incorrect error message for "too many known hosts files."
- ssh(1): make failures when establishing "Tunnel" forwarding terminate
the connection when ExitOnForwardFailure is enabled.
- ssh-keygen(1): fix printing of fingerprints on private keys and add a
regression test for same.
- sshd(8): document order of checking AuthorizedKeysFile (first) and
AuthorizedKeysCommand (subsequently, if the file doesn't match).
- sshd(8): document that /etc/hosts.equiv and /etc/shosts.equiv are not
considered for HostbasedAuthentication when the target user is root.
- ssh(1), ssh-keygen(1): fix NULL dereference in private certificate key
parsing.
- ssh(1), sshd(8): more consistency between sets of %TOKENS are accepted
in various configuration options.
- ssh(1), ssh-keygen(1): improve error messages for some common PKCS#11
C_Login failure cases.
- ssh(1), sshd(8): make error messages for problems during SSH banner
exchange consistent with other SSH transport-layer error messages and
ensure they include the relevant IP addresses.
- ssh-keygen(1), ssh-add(1): when downloading FIDO2 resident keys from a
token, don't prompt for a PIN until the token has told us that it
needs one. Avoids double-prompting on devices that implement
on-device authentication (closes: #932071).
- sshd(8), ssh-keygen(1): no-touch-required FIDO certificate option
should be an extension, not a critical option.
- ssh(1), ssh-keygen(1), ssh-add(1): offer a better error message when
trying to use a FIDO key function and SecurityKeyProvider is empty.
- ssh-add(1), ssh-agent(8): ensure that a key lifetime fits within the
values allowed by the wire format (u32). Prevents integer wraparound
of the timeout values.
- ssh(1): detect and prevent trivial configuration loops when using
ProxyJump. bz#3057.
- On platforms that do not support setting process-wide routing domains
(all excepting OpenBSD at present), fail to accept a configuration
attempts to set one at process start time rather than fatally erroring
at run time.
- Fix theoretical infinite loop in the glob(3) replacement
implementation.
* Update GSSAPI key exchange patch from
https://github.com/openssh-gsskex/openssh-gsskex:
- Fix connection through ProxyJump in combination with "GSSAPITrustDNS
yes".
- Enable SHA2-based GSSAPI key exchange methods by default as RFC 8732
was published.
* Fix or suppress various shellcheck errors under debian/.
* Use AUTOPKGTEST_TMP rather than the deprecated ADTTMP.
* Apply upstream patch to fix the handling of Port directives after
Include (closes: #962035, LP: #1876320).
-- Colin Watson <cjwatson@debian.org> Sun, 07 Jun 2020 13:44:04 +0100
openssh (1:8.2p1-4) unstable; urgency=medium
* Add /etc/ssh/ssh_config.d/ to openssh-client.
* Add /etc/ssh/sshd_config.d/ to openssh-server (closes: #952427).
* Install ssh-sk-helper even on non-Linux architectures, though it will
need an external middleware library in those cases.
-- Colin Watson <cjwatson@debian.org> Wed, 26 Feb 2020 10:55:07 +0000
openssh (1:8.2p1-3) unstable; urgency=medium
* Reupload with -sa to work around confusion with 1:8.2p1-1 being in NEW.
-- Colin Watson <cjwatson@debian.org> Sun, 23 Feb 2020 13:30:01 +0000
openssh (1:8.2p1-2) unstable; urgency=medium
* Move ssh-sk-helper into openssh-client rather than shipping it in a
separate package. The extra library dependencies are pretty small, so
it doesn't seem worth bloating the Packages file. Suggested by Bastian
Blank.
-- Colin Watson <cjwatson@debian.org> Sun, 23 Feb 2020 11:31:31 +0000
openssh (1:8.2p1-1) unstable; urgency=medium
* New upstream release (https://www.openssh.com/txt/release-8.2, closes:
#951582):
- ssh(1), sshd(8), ssh-keygen(1): this release removes the "ssh-rsa"
(RSA/SHA1) algorithm from those accepted for certificate signatures
(i.e. the client and server CASignatureAlgorithms option) and will use
the rsa-sha2-512 signature algorithm by default when the ssh-keygen(1)
CA signs new certificates.
- ssh(1), sshd(8): Remove diffie-hellman-group14-sha1 from the default
key exchange proposal for both the client and server.
- ssh-keygen(1): The command-line options related to the generation and
screening of safe prime numbers used by the
diffie-hellman-group-exchange-* key exchange algorithms have changed.
Most options have been folded under the -O flag.
- sshd(8): The sshd listener process title visible to ps(1) has changed
to include information about the number of connections that are
currently attempting authentication and the limits configured by
MaxStartups.
- Add support for FIDO/U2F hardware authenticators.
- ssh-keygen(1): Add a "no-touch-required" option when generating
FIDO-hosted keys, that disables their default behaviour of requiring a
physical touch/tap on the token during authentication. Note: not all
tokens support disabling the touch requirement.
- sshd(8): Add a sshd_config PubkeyAuthOptions directive that collects
miscellaneous public key authentication-related options for sshd(8).
At present it supports only a single option "no-touch-required". This
causes sshd to skip its default check for FIDO/U2F keys that the
signature was authorised by a touch or press event on the token
hardware.
- ssh(1), sshd(8), ssh-keygen(1): Add a "no-touch-required" option for
authorized_keys and a similar extension for certificates. This option
disables the default requirement that FIDO key signatures attest that
the user touched their key to authorize them, mirroring the similar
PubkeyAuthOptions sshd_config option.
- ssh-keygen(1): Add support for the writing the FIDO attestation
information that is returned when new keys are generated via the "-O
write-attestation=/path" option. FIDO attestation certificates may be
used to verify that a FIDO key is hosted in trusted hardware. OpenSSH
does not currently make use of this information, beyond optionally
writing it to disk.
- Add support for FIDO2 resident keys.
- sshd(8): Add an Include sshd_config keyword that allows including
additional configuration files via glob(3) patterns (closes: #631189).
- ssh(1)/sshd(8): Make the LE (low effort) DSCP code point available via
the IPQoS directive.
- ssh(1): When AddKeysToAgent=yes is set and the key contains no
comment, add the key to the agent with the key's path as the comment.
- ssh-keygen(1), ssh-agent(1): Expose PKCS#11 key labels and X.509
subjects as key comments, rather than simply listing the PKCS#11
provider library path.
- ssh-keygen(1): Allow PEM export of DSA and ECDSA keys.
- sshd(8): When clients get denied by MaxStartups, send a notification
prior to the SSH2 protocol banner according to RFC4253 section 4.2
(closes: #275458).
- ssh(1), ssh-agent(1): When invoking the $SSH_ASKPASS prompt program,
pass a hint to the program to describe the type of desired prompt.
The possible values are "confirm" (indicating that a yes/no
confirmation dialog with no text entry should be shown), "none" (to
indicate an informational message only), or blank for the original
ssh-askpass behaviour of requesting a password/phrase.
- ssh(1): Allow forwarding a different agent socket to the path
specified by $SSH_AUTH_SOCK, by extending the existing ForwardAgent
option to accepting an explicit path or the name of an environment
variable in addition to yes/no.
- ssh-keygen(1): Add a new signature operations "find-principals" to
look up the principal associated with a signature from an
allowed-signers file.
- sshd(8): Expose the number of currently-authenticating connections
along with the MaxStartups limit in the process title visible to "ps".
- sshd(8): Make ClientAliveCountMax=0 have sensible semantics: it will
now disable connection killing entirely rather than the current
behaviour of instantly killing the connection after the first liveness
test regardless of success.
- sshd(8): Clarify order of AllowUsers / DenyUsers vs AllowGroups /
DenyGroups in the sshd(8) manual page.
- sshd(8): Better describe HashKnownHosts in the manual page.
- sshd(8): Clarify that that permitopen=/PermitOpen do no name or
address translation in the manual page.
- sshd(8): Allow the UpdateHostKeys feature to function when multiple
known_hosts files are in use. When updating host keys, ssh will now
search subsequent known_hosts files, but will add updated host keys to
the first specified file only.
- All: Replace all calls to signal(2) with a wrapper around
sigaction(2). This wrapper blocks all other signals during the
handler preventing races between handlers, and sets SA_RESTART which
should reduce the potential for short read/write operations.
- sftp(1): Fix a race condition in the SIGCHILD handler that could turn
in to a kill(-1).
- sshd(8): Fix a case where valid (but extremely large) SSH channel IDs
were being incorrectly rejected.
- ssh(1): When checking host key fingerprints as answers to new hostkey
prompts, ignore whitespace surrounding the fingerprint itself.
- All: Wait for file descriptors to be readable or writeable during
non-blocking connect, not just readable. Prevents a timeout when the
server doesn't immediately send a banner (e.g. multiplexers like
sslh).
- sshd_config(5): Document the sntrup4591761x25519-sha512@tinyssh.org
key exchange algorithm.
* Add more historical md5sums of /etc/ssh/sshd_config between 1:7.4p1-1
and 1:7.8p1-1 inclusive (closes: #951220).
* ssh(1): Explain that -Y is equivalent to -X in the default configuration
(closes: #951640).
* Include /etc/ssh/ssh_config.d/*.conf from /etc/ssh/ssh_config and
/etc/ssh/sshd_config.d/*.conf from /etc/ssh/sshd_config (closes:
#845315).
-- Colin Watson <cjwatson@debian.org> Fri, 21 Feb 2020 16:36:37 +0000
openssh (1:8.1p1-5) unstable; urgency=medium
* Apply upstream patches to allow clock_nanosleep() and variants in the
seccomp sandbox, fixing failures with glibc 2.31.
* Apply upstream patch to deny (non-fatally) ipc in the seccomp sandbox,
fixing failures with OpenSSL 1.1.1d and Linux < 3.19 on some
architectures (closes: #946242).
-- Colin Watson <cjwatson@debian.org> Sat, 11 Jan 2020 23:55:03 +0000
openssh (1:8.1p1-4) unstable; urgency=medium
* Apply upstream patch to stop using 2020 as a future date in regress
tests.
-- Colin Watson <cjwatson@debian.org> Thu, 09 Jan 2020 11:42:10 +0000
openssh (1:8.1p1-3) unstable; urgency=medium
[ Colin Watson ]
* Drop suggestion of rssh, since it's been removed (see
https://bugs.debian.org/923691).
[ Steve Langasek ]
* Don't build openssh-tests on Ubuntu i386 (closes: #948466).
-- Colin Watson <cjwatson@debian.org> Thu, 09 Jan 2020 00:29:58 +0000
openssh (1:8.1p1-2) unstable; urgency=medium
* Drop "Allow flock and ipc syscall for s390 architecture" patch for now;
upstream has security concerns with it and it doesn't currently seem to
be needed.
* Mark openssh-sftp-server, openssh-tests, ssh, and ssh-askpass-gnome as
Multi-Arch: foreign; none of them provide any architecture-dependent
interfaces.
-- Colin Watson <cjwatson@debian.org> Wed, 11 Dec 2019 23:53:49 +0000
openssh (1:8.1p1-1) unstable; urgency=medium
* New upstream release (https://www.openssh.com/txt/release-8.1):
- ssh(1), sshd(8), ssh-agent(1): Add protection for private keys at rest
in RAM against speculation and memory side-channel attacks like
Spectre, Meltdown and Rambleed. This release encrypts private keys
when they are not in use with a symmetric key that is derived from a
relatively large "prekey" consisting of random data (currently 16KB).
- ssh(1): Allow %n to be expanded in ProxyCommand strings.
- ssh(1), sshd(8): Allow prepending a list of algorithms to the default
set by starting the list with the '^' character, e.g.
"HostKeyAlgorithms ^ssh-ed25519".
- ssh-keygen(1): Add an experimental lightweight signature and
verification ability. Signatures may be made using regular ssh keys
held on disk or stored in a ssh-agent and verified against an
authorized_keys-like list of allowed keys. Signatures embed a
namespace that prevents confusion and attacks between different usage
domains (e.g. files vs email).
- ssh-keygen(1): Print key comment when extracting public key from a
private key.
- ssh-keygen(1): Accept the verbose flag when searching for host keys in
known hosts (i.e. "ssh-keygen -vF host") to print the matching host's
random-art signature too.
- All: Support PKCS8 as an optional format for storage of private keys
to disk. The OpenSSH native key format remains the default, but PKCS8
is a superior format to PEM if interoperability with non-OpenSSH
software is required, as it may use a less insecure key derivation
function than PEM's.
- ssh(1): If a PKCS#11 token returns no keys then try to login and
refetch them.
- ssh(1): Produce a useful error message if the user's shell is set
incorrectly during "match exec" processing.
- sftp(1): Allow the maximum uint32 value for the argument passed to -b
which allows better error messages from later validation.
- ssh-keyscan(1): Include SHA2-variant RSA key algorithms in KEX
proposal; allows ssh-keyscan to harvest keys from servers that disable
old SHA1 ssh-rsa.
- sftp(1): Print explicit "not modified" message if a file was requested
for resumed download but was considered already complete.
- sftp(1): Fix a typo and make <esc><right> move right to the closest
end of a word just like <esc><left> moves left to the closest
beginning of a word.
- sshd(8): Cap the number of permitopen/permitlisten directives allowed
to appear on a single authorized_keys line.
- All: Fix a number of memory leaks (one-off or on exit paths).
- ssh(1), sshd(8): Check for convtime() refusing to accept times that
resolve to LONG_MAX.
- ssh(1): Slightly more instructive error message when the user
specifies multiple -J options on the command-line (closes: #929669).
- ssh-agent(1): Process agent requests for RSA certificate private keys
using correct signature algorithm when requested.
- sftp(1): Check for user@host when parsing sftp target. This allows
user@[1.2.3.4] to work without a path.
- sshd(8): Enlarge format buffer size for certificate serial number so
the log message can record any 64-bit integer without truncation.
- sshd(8): For PermitOpen violations add the remote host and port to be
able to more easily ascertain the source of the request. Add the same
logging for PermitListen violations which were not previously logged
at all.
- scp(1), sftp(1): Use the correct POSIX format style for left
justification for the transfer progress meter.
- sshd(8): When examining a configuration using sshd -T, assume any
attribute not provided by -C does not match, which allows it to work
when sshd_config contains a Match directive with or without -C.
- ssh(1), ssh-keygen(1): Downgrade PKCS#11 "provider returned no slots"
warning from log level error to debug. This is common when attempting
to enumerate keys on smartcard readers with no cards plugged in.
- ssh(1), ssh-keygen(1): Do not unconditionally log in to PKCS#11
tokens. Avoids spurious PIN prompts for keys not selected for
authentication in ssh(1) and when listing public keys available in a
token using ssh-keygen(1).
- ssh(1), sshd(8): Fix typo that prevented detection of Linux VRF.
- sshd(8): In the Linux seccomp-bpf sandbox, allow mprotect(2) with
PROT_(READ|WRITE|NONE) only. This syscall is used by some hardened
heap allocators.
- sshd(8): In the Linux seccomp-bpf sandbox, allow the s390-specific
ioctl for ECC hardware support.
* Re-enable hardening on hppa, since the corresponding GCC bug is
apparently fixed.
-- Colin Watson <cjwatson@debian.org> Thu, 10 Oct 2019 10:23:19 +0100
openssh (1:8.0p1-7) unstable; urgency=medium
[ Daniel Kahn Gillmor ]
* runit: Correct typo in comment.
[ Colin Watson ]
* Apply upstream patch to deny (non-fatally) shmget/shmat/shmdt in preauth
privsep child, coping with changes in OpenSSL 1.1.1d that broke OpenSSH
on Linux kernels before 3.19 (closes: #941663).
-- Colin Watson <cjwatson@debian.org> Sat, 05 Oct 2019 22:41:11 +0100
openssh (1:8.0p1-6) unstable; urgency=medium
* Only run dh_runit on openssh-server (closes: #935936).
-- Colin Watson <cjwatson@debian.org> Wed, 28 Aug 2019 10:53:18 +0100
openssh (1:8.0p1-5) unstable; urgency=medium
[ Lorenzo Puliti ]
* Add a runscript for runit (closes: #933999).
-- Colin Watson <cjwatson@debian.org> Tue, 27 Aug 2019 15:18:54 +0100
openssh (1:8.0p1-4) unstable; urgency=medium
* Use debhelper-compat instead of debian/compat.
* debian/*.apport:
- Remove #! lines.
- Avoid star imports.
- Fix flake8 errors.
* Run regression tests against the Python 3 version of Twisted Conch.
-- Colin Watson <cjwatson@debian.org> Sat, 03 Aug 2019 13:33:24 +0100
openssh (1:8.0p1-3) unstable; urgency=medium
* Upload to unstable.
-- Colin Watson <cjwatson@debian.org> Mon, 08 Jul 2019 17:19:37 +0100
# Older entries have been removed from this changelog.
# To read the complete changelog use `apt changelog openssh-client`.
Generated by dwww version 1.16 on Sat Dec 13 16:16:00 CET 2025.