Hi, OpenSSH 7.7p1 is almost ready for release, so we would appreciate testing on as many platforms and systems as possible. This is a bugfix release. Snapshot releases for portable OpenSSH are available from http://www.mindrot.org/openssh_snap/ The OpenBSD version is available in CVS HEAD: http://www.openbsd.org/anoncvs.html Portable OpenSSH is also available via git using the instructions at http://www.openssh.com/portable.html#cvs At https://anongit.mindrot.org/openssh.git/ or via a mirror at Github: https://github.com/openssh/openssh-portable Running the regression tests supplied with Portable OpenSSH does not require installation and is a simply: $ ./configure && make tests Live testing on suitable non-production systems is also appreciated. Please send reports of success or failure to openssh-unix-dev at mindrot.org. Security bugs should be reported directly to openssh at openssh.com. Below is a summary of changes. More detail may be found in the ChangeLog in the portable OpenSSH tarballs. Thanks to the many people who contributed to this release. Potentially-incompatible changes =============================== This release includes a number of changes that may affect existing configurations: * ssh(1)/sshd(8): Drop compatibility support for some very old SSH implementations, including ssh.com <=2.* and OpenSSH <= 3.*. These versions were all released in or before 2001 and predate the final SSH RFCs. The support in question isn't necessary for RFC- compliant SSH implementations. Changes since OpenSSH 7.6 ======================== This is primarily a bugfix release. New Features ------------ * All: Add experimental support for PQC XMSS keys (Extended Hash- Based Signatures) based on the algorithm described in https://tools.ietf.org/html/draft-irtf-cfrg-xmss-hash-based-signatures-12 The XMSS signature code is experimental and not compiled in by default. * sshd(8): Add a "rdomain" criteria for the sshd_config Match keyword to allow conditional configuration that depends on which routing domain a connection was received on (currently supported on OpenBSD and Linux). * sshd_config(5): Add an optional rdomain qualifier to the ListenAddress directive to allow listening on different routing domains. This is supported only on OpenBSD and Linux at present. * sshd_config(5): Add RDomain directive to allow the authenticated session to be placed in an explicit routing domain. This is only supported on OpenBSD at present. * sshd(8): Add "expiry-time" option for authorized_keys files to allow for expiring keys. * ssh(1): Add a BindInterface option to allow binding the outgoing connection to an interface's address (basically a more usable BindAddress) * ssh(1): Expose device allocated for tun/tap forwarding via a new %T expansion for LocalCommand. This allows LocalCommand to be used to prepare the interface. * sshd(8): Expose the device allocated for tun/tap forwarding via a new SSH_TUNNEL environment variable. This allows automatic setup of the interface and surrounding network configuration automatically on the server. * ssh(1)/scp(1)/sftp(1): Add URI support to ssh, sftp and scp, e.g. ssh://user at host or sftp://user at host/path. Additional connection parameters described in draft-ietf-secsh-scp-sftp-ssh-uri-04 are not implemented since the ssh fingerprint format in the draft uses the deprecated MD5 hash with no way to specify the any other algorithm. * ssh-keygen(1): Allow certificate validity intervals that specify only a start or stop time (instead of both or neither). * sftp(1): Allow "cd" and "lcd" commands with no explicit path argument. lcd will change to the local user's home directory as usual. cd will change to the starting directory for session (because the protocol offers no way to obtain the remote user's home directory). bz#2760 * sshd(8): When doing a config test with sshd -T, only require the attributes that are actually used in Match criteria rather than (an incomplete list of) all criteria. * sshd(8): Fix support for client that advertise a protocol version of "1.99" (indicating that they are prepared to accept both SSHv1 and SSHv2). This was broken in OpenSSH 7.6 during the removal of SSHv1 support. bz#2810 Bugfixes -------- * ssh(1): Warn when the agent returns a ssh-rsa (SHA1) signature when a rsa-sha2-256/512 signature was requested. This condition is possible when an old or non-OpenSSH agent is in use. bz#2799 * ssh(1)/sshd(8): More strictly check signature types during key exchange against what was negotiated. Prevents downgrade of RSA signatures made with SHA-256/512 to SHA-1. * ssh-agent(1): Fix regression introduce in 7.6 that caused ssh-agent to fatally exit if presented an invalid signature request message. * sshd_config(5): Accept yes/no flag options case-insensitively, as has been the case in ssh_config(5) for a long time. bz#2664 * ssh(1): Improve error reporting for failures during connection. Under some circumstances misleading errors were being shows. bz#2814 * ssh-keyscan(1): Add -D option to allow printing of results directly in SSHFP format. bz#2821 * regress tests: fix PuTTY interop test broken in last release's SSHv1 removal. bz#2823 * ssh(1): Compatibility fix for some servers that erroneously drop the connection when the IUTF8 (RFC8160) option is sent. * scp(1): Disable RemoteCommand and RequestTTY in the ssh session started by scp (sftp was already doing this.) * ssh-keygen(1): Refuse to create a certificate with an unusable number of principals. * ssh-keygen(1): Fatally exit if ssh-keygen is unable to write all the public key during key generation. Previously it would silently ignore errors writing the comment and terminating newline. * ssh(1): Do not modify hostname arguments that are addresses by automatically forcing them to lower-case. Instead canonicalise them to resolve ambiguities (e.g. ::0001 => ::1) before they are matched against known_hosts. bz#2763 * ssh(1): Don't accept junk after "yes" or "no" responses to hostkey prompts. bz#2803 * sftp(1): Have sftp print a warning about shell cleanliness when decoding the first packet fails, which is usually caused by shells polluting stdout of non-interactive startups. bz#2800 * ssh(1)/sshd(8): Switch timers in packet code from using wall-clock time to monotonic time, allowing the packet layer to better function over a clock step and avoiding possible integer overflows during steps. * Numerous manual page fixes and improvements. Portability ----------- * sshd(8): Correctly detect MIPS ABI in use at configure time. Fixes sandbox violations on some environments. * sshd(8): Remove UNICOS support. The hardware and software are literal museum pieces and support in sshd is too intrusive to justify maintaining. * All: Build and link with "retpoline" flags when available to mitigate the "branch target injection" style (variant 2) of the Spectre branch-prediction vulnerability. * All: Add auto-generated dependency information to Makefile. * Numerous fixed to the RPM spec files. OpenSSH is brought to you by Markus Friedl, Niels Provos, Theo de Raadt, Kevin Steves, Damien Miller, Darren Tucker, Jason McIntyre, Tim Rice and Ben Lindstrom.
On Thu, Mar 22, 2018 at 02:42:46PM +1100, Damien Miller wrote:> Hi, > > OpenSSH 7.7p1 is almost ready for release, so we would appreciate testing > on as many platforms and systems as possible. This is a bugfix release. > > Snapshot releases for portable OpenSSH are available from > http://www.mindrot.org/openssh_snap/ > > The OpenBSD version is available in CVS HEAD: > http://www.openbsd.org/anoncvs.html > > Portable OpenSSH is also available via git using the > instructions at http://www.openssh.com/portable.html#cvs > At https://anongit.mindrot.org/openssh.git/ or via a mirror at Github: > https://github.com/openssh/openssh-portable > > Running the regression tests supplied with Portable OpenSSH does not > require installation and is a simply: > > $ ./configure && make tests >Looking good on FreeBSD 11.1 failed copy of /bin/ls cmp: EOF on /usr/source/openssh-SNAP-20180323/regress/copy corrupted copy of /bin/ls Exit request sent. Exit request sent. Exit request sent. Exit request sent. Exit request sent. Exit request sent. Exit request sent. Exit request sent. failed local and remote forwarding *** Error code 1 Stop. make[1]: stopped in /usr/source/openssh-SNAP-20180323/regress *** Error code 1 Stop. make: stopped in /usr/source/openssh-SNAP-20180323 crops up yet again. Nice to see that openssl 1.1 is not integrated and that is mentioned in the compile set up on one server. The other is all right!> Live testing on suitable non-production systems is also appreciated. > Please send reports of success or failure to > openssh-unix-dev at mindrot.org. Security bugs should be reported > directly to openssh at openssh.com. > > Below is a summary of changes. More detail may be found in the ChangeLog > in the portable OpenSSH tarballs. > > Thanks to the many people who contributed to this release. > > Potentially-incompatible changes > ===============================> > This release includes a number of changes that may affect existing > configurations: > > * ssh(1)/sshd(8): Drop compatibility support for some very old SSH > implementations, including ssh.com <=2.* and OpenSSH <= 3.*. > These versions were all released in or before 2001 and predate the > final SSH RFCs. The support in question isn't necessary for RFC- > compliant SSH implementations. > > Changes since OpenSSH 7.6 > ========================> > This is primarily a bugfix release. > > New Features > ------------ > > * All: Add experimental support for PQC XMSS keys (Extended Hash- > Based Signatures) based on the algorithm described in > https://tools.ietf.org/html/draft-irtf-cfrg-xmss-hash-based-signatures-12 > The XMSS signature code is experimental and not compiled in by > default. > > * sshd(8): Add a "rdomain" criteria for the sshd_config Match keyword > to allow conditional configuration that depends on which routing > domain a connection was received on (currently supported on OpenBSD > and Linux). > > * sshd_config(5): Add an optional rdomain qualifier to the > ListenAddress directive to allow listening on different routing > domains. This is supported only on OpenBSD and Linux at present. > > * sshd_config(5): Add RDomain directive to allow the authenticated > session to be placed in an explicit routing domain. This is only > supported on OpenBSD at present. > > * sshd(8): Add "expiry-time" option for authorized_keys files to > allow for expiring keys. > > * ssh(1): Add a BindInterface option to allow binding the outgoing > connection to an interface's address (basically a more usable > BindAddress) > > * ssh(1): Expose device allocated for tun/tap forwarding via a new > %T expansion for LocalCommand. This allows LocalCommand to be used > to prepare the interface. > > * sshd(8): Expose the device allocated for tun/tap forwarding via a > new SSH_TUNNEL environment variable. This allows automatic setup of > the interface and surrounding network configuration automatically on > the server. > > * ssh(1)/scp(1)/sftp(1): Add URI support to ssh, sftp and scp, e.g. > ssh://user at host or sftp://user at host/path. Additional connection > parameters described in draft-ietf-secsh-scp-sftp-ssh-uri-04 are not > implemented since the ssh fingerprint format in the draft uses the > deprecated MD5 hash with no way to specify the any other algorithm. > > * ssh-keygen(1): Allow certificate validity intervals that specify > only a start or stop time (instead of both or neither). > > * sftp(1): Allow "cd" and "lcd" commands with no explicit path > argument. lcd will change to the local user's home directory as > usual. cd will change to the starting directory for session (because > the protocol offers no way to obtain the remote user's home > directory). bz#2760 > > * sshd(8): When doing a config test with sshd -T, only require the > attributes that are actually used in Match criteria rather than (an > incomplete list of) all criteria. > > * sshd(8): Fix support for client that advertise a protocol version > of "1.99" (indicating that they are prepared to accept both SSHv1 and > SSHv2). This was broken in OpenSSH 7.6 during the removal of SSHv1 > support. bz#2810 > > Bugfixes > -------- > > * ssh(1): Warn when the agent returns a ssh-rsa (SHA1) signature when > a rsa-sha2-256/512 signature was requested. This condition is possible > when an old or non-OpenSSH agent is in use. bz#2799 > > * ssh(1)/sshd(8): More strictly check signature types during key > exchange against what was negotiated. Prevents downgrade of RSA > signatures made with SHA-256/512 to SHA-1. > > * ssh-agent(1): Fix regression introduce in 7.6 that caused ssh-agent > to fatally exit if presented an invalid signature request message. > > * sshd_config(5): Accept yes/no flag options case-insensitively, as > has been the case in ssh_config(5) for a long time. bz#2664 > > * ssh(1): Improve error reporting for failures during connection. > Under some circumstances misleading errors were being shows. bz#2814 > > * ssh-keyscan(1): Add -D option to allow printing of results directly > in SSHFP format. bz#2821 > > * regress tests: fix PuTTY interop test broken in last release's SSHv1 > removal. bz#2823 > > * ssh(1): Compatibility fix for some servers that erroneously drop the > connection when the IUTF8 (RFC8160) option is sent. > > * scp(1): Disable RemoteCommand and RequestTTY in the ssh session > started by scp (sftp was already doing this.) > > * ssh-keygen(1): Refuse to create a certificate with an unusable > number of principals. > > * ssh-keygen(1): Fatally exit if ssh-keygen is unable to write all the > public key during key generation. Previously it would silently > ignore errors writing the comment and terminating newline. > > * ssh(1): Do not modify hostname arguments that are addresses by > automatically forcing them to lower-case. Instead canonicalise them > to resolve ambiguities (e.g. ::0001 => ::1) before they are matched > against known_hosts. bz#2763 > > * ssh(1): Don't accept junk after "yes" or "no" responses to hostkey > prompts. bz#2803 > > * sftp(1): Have sftp print a warning about shell cleanliness when > decoding the first packet fails, which is usually caused by shells > polluting stdout of non-interactive startups. bz#2800 > > * ssh(1)/sshd(8): Switch timers in packet code from using wall-clock > time to monotonic time, allowing the packet layer to better function > over a clock step and avoiding possible integer overflows during > steps. > > * Numerous manual page fixes and improvements. > > Portability > ----------- > > * sshd(8): Correctly detect MIPS ABI in use at configure time. Fixes > sandbox violations on some environments. > > * sshd(8): Remove UNICOS support. The hardware and software are literal > museum pieces and support in sshd is too intrusive to justify > maintaining. > > * All: Build and link with "retpoline" flags when available to mitigate > the "branch target injection" style (variant 2) of the Spectre > branch-prediction vulnerability. > > * All: Add auto-generated dependency information to Makefile. > > * Numerous fixed to the RPM spec files. > > OpenSSH is brought to you by Markus Friedl, Niels Provos, Theo de > Raadt, Kevin Steves, Damien Miller, Darren Tucker, Jason McIntyre, > Tim Rice and Ben Lindstrom. > _______________________________________________ > openssh-unix-dev mailing list > openssh-unix-dev at mindrot.org > https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev-- Member - Liberal International This is doctor@@nl2k.ab.ca Ici doctor@@nl2k.ab.ca Yahweh, Queen & country!Never Satan President Republic!Beware AntiChrist rising! https://www.empire.kred/ROOTNK?t=94a1f39b Look at Psalms 14 and 53 on Atheism Always seek out the seed of triumph in every adversity. -Og Mandino
On 23 March 2018 at 04:40, The Doctor <doctor at doctor.nl2k.ab.ca> wrote: [...]> Looking good on FreeBSD 11.1 > > failed copy of /bin/ls > cmp: EOF on /usr/source/openssh-SNAP-20180323/regress/copy > corrupted copy of /bin/lsIs /bin/ls readable by the user or does it just have the x bit set? Is the failing one running on NFS perchance? I have seen problems with the tests run on NFS on old FreeBSD versions (but not current ones). -- Darren Tucker (dtucker at dtucker.net) GPG key 11EAA6FA / A86E 3E07 5B19 5880 E860 37F4 9357 ECEF 11EA A6FA (new) Good judgement comes with experience. Unfortunately, the experience usually comes from bad judgement.
all tests passed on: - SUSE Linux Enterprise Server 12 SP3 - Ubuntu 16.04.4 LTS - Scientific Linux release 6.9 (Carbon) -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 5254 bytes Desc: S/MIME Cryptographic Signature URL: <http://lists.mindrot.org/pipermail/openssh-unix-dev/attachments/20180323/4266569a/attachment.p7s>
On Mar 22 14:42, Damien Miller wrote:> Hi, > > OpenSSH 7.7p1 is almost ready for release, so we would appreciate testing > on as many platforms and systems as possible. This is a bugfix release. > > Snapshot releases for portable OpenSSH are available from > http://www.mindrot.org/openssh_snap/ > > The OpenBSD version is available in CVS HEAD: > http://www.openbsd.org/anoncvs.html > > Portable OpenSSH is also available via git using the > instructions at http://www.openssh.com/portable.html#cvs > At https://anongit.mindrot.org/openssh.git/ or via a mirror at Github: > https://github.com/openssh/openssh-portable > > Running the regression tests supplied with Portable OpenSSH does not > require installation and is a simply: > > $ ./configure && make testsBuilding and most of testing works on Cygwin, but eventually testing fails in sftp-uri. The file regress/sftp-server.log contains: session opened for local user corinna from [UNKNOWN] received client version 3 debug2: Permitting whitelisted realpath request debug3: request 1: realpath realpath "." debug1: request 1: sent names count 1 Refusing non-whitelisted statvfs request debug3: request 2: sent status 3 sent status Permission denied debug1: read eof session closed for local user corinna from [UNKNOWN] Can you please explain what's going on there? Thanks, Corinna -- Corinna Vinschen Cygwin Maintainer Red Hat -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: <http://lists.mindrot.org/pipermail/openssh-unix-dev/attachments/20180323/8bac1549/attachment.asc>
Not working on NetBSD-current for obvious reasons: checking OpenSSL header version... 1010007f (OpenSSL 1.1.0g 2 Nov 2017) checking OpenSSL library version... configure: error: OpenSSL >= 1.1.0 is not yet supported (have "1010007f (OpenSSL 1.1.0g 2 Nov 2017)") On Thu, 22 Mar 2018, Damien Miller wrote:> Hi, > > OpenSSH 7.7p1 is almost ready for release, so we would appreciate testing > on as many platforms and systems as possible. This is a bugfix release. > > Snapshot releases for portable OpenSSH are available from > http://www.mindrot.org/openssh_snap/ > > The OpenBSD version is available in CVS HEAD: > http://www.openbsd.org/anoncvs.html > > Portable OpenSSH is also available via git using the > instructions at http://www.openssh.com/portable.html#cvs > At https://anongit.mindrot.org/openssh.git/ or via a mirror at Github: > https://github.com/openssh/openssh-portable > > Running the regression tests supplied with Portable OpenSSH does not > require installation and is a simply: > > $ ./configure && make tests > > Live testing on suitable non-production systems is also appreciated. > Please send reports of success or failure to > openssh-unix-dev at mindrot.org. Security bugs should be reported > directly to openssh at openssh.com. > > Below is a summary of changes. More detail may be found in the ChangeLog > in the portable OpenSSH tarballs. > > Thanks to the many people who contributed to this release. > > Potentially-incompatible changes > ===============================> > This release includes a number of changes that may affect existing > configurations: > > * ssh(1)/sshd(8): Drop compatibility support for some very old SSH > implementations, including ssh.com <=2.* and OpenSSH <= 3.*. > These versions were all released in or before 2001 and predate the > final SSH RFCs. The support in question isn't necessary for RFC- > compliant SSH implementations. > > Changes since OpenSSH 7.6 > ========================> > This is primarily a bugfix release. > > New Features > ------------ > > * All: Add experimental support for PQC XMSS keys (Extended Hash- > Based Signatures) based on the algorithm described in > https://tools.ietf.org/html/draft-irtf-cfrg-xmss-hash-based-signatures-12 > The XMSS signature code is experimental and not compiled in by > default. > > * sshd(8): Add a "rdomain" criteria for the sshd_config Match keyword > to allow conditional configuration that depends on which routing > domain a connection was received on (currently supported on OpenBSD > and Linux). > > * sshd_config(5): Add an optional rdomain qualifier to the > ListenAddress directive to allow listening on different routing > domains. This is supported only on OpenBSD and Linux at present. > > * sshd_config(5): Add RDomain directive to allow the authenticated > session to be placed in an explicit routing domain. This is only > supported on OpenBSD at present. > > * sshd(8): Add "expiry-time" option for authorized_keys files to > allow for expiring keys. > > * ssh(1): Add a BindInterface option to allow binding the outgoing > connection to an interface's address (basically a more usable > BindAddress) > > * ssh(1): Expose device allocated for tun/tap forwarding via a new > %T expansion for LocalCommand. This allows LocalCommand to be used > to prepare the interface. > > * sshd(8): Expose the device allocated for tun/tap forwarding via a > new SSH_TUNNEL environment variable. This allows automatic setup of > the interface and surrounding network configuration automatically on > the server. > > * ssh(1)/scp(1)/sftp(1): Add URI support to ssh, sftp and scp, e.g. > ssh://user at host or sftp://user at host/path. Additional connection > parameters described in draft-ietf-secsh-scp-sftp-ssh-uri-04 are not > implemented since the ssh fingerprint format in the draft uses the > deprecated MD5 hash with no way to specify the any other algorithm. > > * ssh-keygen(1): Allow certificate validity intervals that specify > only a start or stop time (instead of both or neither). > > * sftp(1): Allow "cd" and "lcd" commands with no explicit path > argument. lcd will change to the local user's home directory as > usual. cd will change to the starting directory for session (because > the protocol offers no way to obtain the remote user's home > directory). bz#2760 > > * sshd(8): When doing a config test with sshd -T, only require the > attributes that are actually used in Match criteria rather than (an > incomplete list of) all criteria. > > * sshd(8): Fix support for client that advertise a protocol version > of "1.99" (indicating that they are prepared to accept both SSHv1 and > SSHv2). This was broken in OpenSSH 7.6 during the removal of SSHv1 > support. bz#2810 > > Bugfixes > -------- > > * ssh(1): Warn when the agent returns a ssh-rsa (SHA1) signature when > a rsa-sha2-256/512 signature was requested. This condition is possible > when an old or non-OpenSSH agent is in use. bz#2799 > > * ssh(1)/sshd(8): More strictly check signature types during key > exchange against what was negotiated. Prevents downgrade of RSA > signatures made with SHA-256/512 to SHA-1. > > * ssh-agent(1): Fix regression introduce in 7.6 that caused ssh-agent > to fatally exit if presented an invalid signature request message. > > * sshd_config(5): Accept yes/no flag options case-insensitively, as > has been the case in ssh_config(5) for a long time. bz#2664 > > * ssh(1): Improve error reporting for failures during connection. > Under some circumstances misleading errors were being shows. bz#2814 > > * ssh-keyscan(1): Add -D option to allow printing of results directly > in SSHFP format. bz#2821 > > * regress tests: fix PuTTY interop test broken in last release's SSHv1 > removal. bz#2823 > > * ssh(1): Compatibility fix for some servers that erroneously drop the > connection when the IUTF8 (RFC8160) option is sent. > > * scp(1): Disable RemoteCommand and RequestTTY in the ssh session > started by scp (sftp was already doing this.) > > * ssh-keygen(1): Refuse to create a certificate with an unusable > number of principals. > > * ssh-keygen(1): Fatally exit if ssh-keygen is unable to write all the > public key during key generation. Previously it would silently > ignore errors writing the comment and terminating newline. > > * ssh(1): Do not modify hostname arguments that are addresses by > automatically forcing them to lower-case. Instead canonicalise them > to resolve ambiguities (e.g. ::0001 => ::1) before they are matched > against known_hosts. bz#2763 > > * ssh(1): Don't accept junk after "yes" or "no" responses to hostkey > prompts. bz#2803 > > * sftp(1): Have sftp print a warning about shell cleanliness when > decoding the first packet fails, which is usually caused by shells > polluting stdout of non-interactive startups. bz#2800 > > * ssh(1)/sshd(8): Switch timers in packet code from using wall-clock > time to monotonic time, allowing the packet layer to better function > over a clock step and avoiding possible integer overflows during > steps. > > * Numerous manual page fixes and improvements. > > Portability > ----------- > > * sshd(8): Correctly detect MIPS ABI in use at configure time. Fixes > sandbox violations on some environments. > > * sshd(8): Remove UNICOS support. The hardware and software are literal > museum pieces and support in sshd is too intrusive to justify > maintaining. > > * All: Build and link with "retpoline" flags when available to mitigate > the "branch target injection" style (variant 2) of the Spectre > branch-prediction vulnerability. > > * All: Add auto-generated dependency information to Makefile. > > * Numerous fixed to the RPM spec files. > > OpenSSH is brought to you by Markus Friedl, Niels Provos, Theo de > Raadt, Kevin Steves, Damien Miller, Darren Tucker, Jason McIntyre, > Tim Rice and Ben Lindstrom. > _______________________________________________ > openssh-unix-dev mailing list > openssh-unix-dev at mindrot.org > https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev >-- Hisashi T Fujinaka - htodd at twofifty.com BSEE + BSChem + BAEnglish + MSCS + $2.50 = coffee
On 2018-03-22 at 14:42 +1100, Damien Miller wrote:> OpenSSH 7.7p1 is almost ready for release, so we would appreciate testing > on as many platforms and systems as possible. This is a bugfix release.https://people.spodhuis.org/phil.pennock/openssh-testing/SNAP-20180323/ * arch : fail, OpenSSL 1.1.0g * bento-centos7 : all tests passed * bento-debian9.1 : all tests passed * bento-fedora26 : all tests passed * bento-freebsd11 : all tests passed * jessie : all tests passed * netbsd7 : all tests passed * stretch : all tests passed * trusty : all tests passed * xenial : all tests passed I don't know arch well enough to know if it's possible to get older OpenSSL onto it, or if the "rolling release" nature means that they're completely switched over. -Phil
On 24 March 2018 at 03:03, Corinna Vinschen <vinschen at redhat.com> wrote: [...]> session opened for local user corinna from [UNKNOWN] > received client version 3 > debug2: Permitting whitelisted realpath request > debug3: request 1: realpath > realpath "." > debug1: request 1: sent names count 1 > Refusing non-whitelisted statvfs request > debug3: request 2: sent status 3 > sent status Permission denied > debug1: read eof > session closed for local user corinna from [UNKNOWN] > > Can you please explain what's going on there?Adding a "set -x" to test-exec.sh shows the failing command is: The log from the sftp client is: /home/builder/openssh/sftp -q -S /home/builder/openssh/regress/ssh-log-wrapper.sh -F /home/builder/openssh/regress/ssh_config -b /dev/stdin sftp://builder at somehost:4242//home/builder/openssh/regress/copy.dd/ and it gets the commands "version" and ""put ${DATA} copy" on its stdin. The client log says: debug2: Remote version: 3 debug2: Server supports extension "posix-rename at openssh.com" revision 1 debug2: Server supports extension "statvfs at openssh.com" revision 2 debug2: Server supports extension "fstatvfs at openssh.com" revision 2 debug2: Server supports extension "hardlink at openssh.com" revision 1 debug2: Server supports extension "fsync at openssh.com" revision 1 debug3: Sent message fd 6 T:16 I:1 debug3: SSH_FXP_REALPATH . -> /home/builder/openssh/regress size 0 sftp> df / debug3: Received statvfs reply T:101 I:2 debug1: Couldn't statvfs: Permission denied so according to the log, the server is refusing the statvfs request. I don't understand where the "df /" command is coming from or why the server refuses it. FWIW the df works OK with the standalone sftp-server, though. $ ./sftp -vvv -D ./sftp-server localhost debug2: Remote version: 3 debug2: Server supports extension "posix-rename at openssh.com" revision 1 debug2: Server supports extension "statvfs at openssh.com" revision 2 debug2: Server supports extension "fstatvfs at openssh.com" revision 2 debug2: Server supports extension "hardlink at openssh.com" revision 1 debug2: Server supports extension "fsync at openssh.com" revision 1 Attached to ./sftp-server. debug3: Sent message fd 6 T:16 I:1 debug3: SSH_FXP_REALPATH . -> /home/builder/openssh size 0 sftp> df / debug3: 'Received statvfs reply T:201 I:2 Size Used Avail (root) %Capacity 20457468 12423640 8033828 8033828 60% -- Darren Tucker (dtucker at dtucker.net) GPG key 11EAA6FA / A86E 3E07 5B19 5880 E860 37F4 9357 ECEF 11EA A6FA (new) Good judgement comes with experience. Unfortunately, the experience usually comes from bad judgement.
[2018-03-23 14:25:35 -0400] Phil Pennock:> I don't know arch well enough to know if it's possible to get older > OpenSSL onto it, or if the "rolling release" nature means that they're > completely switched over.I maintain Arch's official openssh package; it's built with openssl-1.1 using a patch derived from [1]. I've updated it for openssh-7.7's latest snapshot [2]; all tests pass and live testing shows no issue so far. [1] http://vega.pgw.jp/~kabe/vsd/patch/openssh-7.4p1-openssl-1.1.0c.patch.html [2] https://git.archlinux.org/svntogit/packages.git/tree/trunk/openssl-1.1.0.patch?h=packages/openssh (The bulk of the patch consists in accessing data structures in a different way, which I don't see as an intrusive change, so the above is not entirely surprising.) We also have an openssl-1.0 package (and many other branches in the AUR) but avoid using it except for pieces of software which really cannot be ported to openssl-1.1. Cheers. -- Gaetan
> Live testing on suitable non-production systems is also appreciated. > Please send reports of success or failure to > openssh-unix-dev at mindrot.org. Security bugs should be reported > directly to openssh at openssh.com.I've got one weird case. doing pubkey auth with certificates, if I have both the key and cert loaded in my agent, I see: $ env SSH_AUTH_SOCK=/tmp/ssh.sock2 ./ssh-add -l 256 SHA256:byQi9IUy4F9Osg/977BQ/zyOHG2Yvlz0nSqpADvlZpQ (ED25519) 256 SHA256:byQi9IUy4F9Osg/977BQ/zyOHG2Yvlz0nSqpADvlZpQ (ED25519-CERT) $ env SSH_AUTH_SOCK=/tmp/ssh.sock2 ./ssh host pmoody at host:~$ but if I only have the certificate, I see: $ env SSH_AUTH_SOCK=/tmp/ssh.sock2 ./ssh-add -l 256 SHA256:byQi9IUy4F9Osg/977BQ/zyOHG2Yvlz0nSqpADvlZpQ (ED25519-CERT) $ env SSH_AUTH_SOCK=/tmp/ssh.sock2 ./ssh host warning: agent returned different signature type ssh-ed25519 (expected ssh-ed25519-cert-v01 at openssh.com) pmoody at host:~$ it still works, but it prints the error about different signature type. the ssh-agent from the snapshot is listening on /tmp/ssh.sock2 this is from high seirra: $ sw_vers ProductName: Mac OS X ProductVersion: 10.13.3 BuildVersion: 17D47 built like: OpenSSH has been configured with the following options: User binaries: /usr/local/bin System binaries: /usr/local/sbin Configuration files: /usr/local/etc Askpass program: /usr/local/libexec/ssh-askpass Manual pages: /usr/local/share/man/manX PID file: /var/run Privilege separation chroot path: /var/empty sshd default user PATH: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin Manpage format: doc PAM support: no OSF SIA support: no KerberosV support: no SELinux support: no S/KEY support: no MD5 password support: no libedit support: no libldns support: no Solaris process contract support: no Solaris project support: no Solaris privilege support: no IP address in $DISPLAY hack: no Translate v4 in v6 hack: no BSD Auth support: no Random number source: OpenSSL internal ONLY Privsep sandbox style: darwin Host: x86_64-apple-darwin17.4.0 Compiler: gcc Compiler flags: -g -O2 -pipe -Qunused-arguments -Wunknown-warning-option -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wsizeof-pointer-memaccess -Wno-pointer-sign -Wno-unused-result -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -ftrapv -fno-builtin-memset -fstack-protector-strong -fPIE Preprocessor flags: -I/usr/local/opt/openssl/include Linker flags: -L/usr/local/opt/openssl/lib -fstack-protector-strong -pie Libraries: -lcrypto -lz -lresolv +for sshd: -lsandbox with: $ /usr/local/opt/openssl/bin/openssl version OpenSSL 1.0.2n 7 Dec 2017
On Fri, 23 Mar 2018, Peter Moody wrote:> > Live testing on suitable non-production systems is also appreciated. > > Please send reports of success or failure to > > openssh-unix-dev at mindrot.org. Security bugs should be reported > > directly to openssh at openssh.com. > > I've got one weird case. > > doing pubkey auth with certificates, if I have both the key and cert > loaded in my agent, I see: > > $ env SSH_AUTH_SOCK=/tmp/ssh.sock2 ./ssh-add -l > 256 SHA256:byQi9IUy4F9Osg/977BQ/zyOHG2Yvlz0nSqpADvlZpQ (ED25519) > 256 SHA256:byQi9IUy4F9Osg/977BQ/zyOHG2Yvlz0nSqpADvlZpQ (ED25519-CERT) > > $ env SSH_AUTH_SOCK=/tmp/ssh.sock2 ./ssh host > > pmoody at host:~$ > > but if I only have the certificate, I see: > > $ env SSH_AUTH_SOCK=/tmp/ssh.sock2 ./ssh-add -l > 256 SHA256:byQi9IUy4F9Osg/977BQ/zyOHG2Yvlz0nSqpADvlZpQ (ED25519-CERT) > > $ env SSH_AUTH_SOCK=/tmp/ssh.sock2 ./ssh host > warning: agent returned different signature type ssh-ed25519 (expected > ssh-ed25519-cert-v01 at openssh.com)Looks like a false positive from the warning code I added recently. Please try this: diff --git a/sshconnect2.c b/sshconnect2.c index bf0b729..49eb205 100644 --- a/sshconnect2.c +++ b/sshconnect2.c @@ -1006,6 +1006,8 @@ check_sigtype(const struct sshkey *key, const u_char *sig, size_t len) char *sigtype = NULL; const char *alg = key_sign_encode(key); + if (sshkey_is_cert(key)) + return 0; if ((r = sshkey_sigtype(sig, len, &sigtype)) != 0) return r; if (strcmp(sigtype, alg) != 0) {
On 22/03/18 04:42, Damien Miller wrote:> OpenSSH 7.7p1 is almost ready for release, so we would appreciate testing > on as many platforms and systems as possible. This is a bugfix release. >I've tested using revision b5974de1 and the testsuite passes on Solaris 2.6, 7, 8 and 9 (all both SPARC & x86). I noticed an issue in the output though: ExposeAuthInfo=no bash: printenv: command not found ExposeAuthInfo=yes Solaris does not ship with a printenv command. -tgc
All tests pass on Kali Linux 2018.1. - Joe
On Sat, 24 Mar 2018, Tom G. Christensen wrote:> On 22/03/18 04:42, Damien Miller wrote: > > OpenSSH 7.7p1 is almost ready for release, so we would appreciate testing > > on as many platforms and systems as possible. This is a bugfix release. > > > > I've tested using revision b5974de1 and the testsuite passes on Solaris 2.6, > 7, 8 and 9 (all both SPARC & x86). > > I noticed an issue in the output though: > ExposeAuthInfo=no > bash: printenv: command not found > ExposeAuthInfo=yes > > Solaris does not ship with a printenv command.sigh, it's printenv because:> date: 2017/10/25 20:08:36; author: millert; state: Exp; lines: +2 -2; commitid: WvDhLxb5IsB9EQQZ; > Use printenv to test whether an SSH_USER_AUTH is set instead of > using $SSH_USER_AUTH. The latter won't work with csh which treats > unknown variables as an error when expanding them. OK markus@Does replacing printenv with "env | grep SSH_AUTH_USER" work? -d
On Thu, 2018-03-22 at 14:42 +1100, Damien Miller wrote:> Hi, > > OpenSSH 7.7p1 is almost ready for release, so we would appreciate > testing > on as many platforms and systems as possible. This is a bugfix > release.Thank you for the next pre-release. I tested openssh-SNAP-20180326.tar.gz and noticed few things that would be good to fix: * regress/localcomand.sh has still some rotten parts of SSHv1 protocol (proto and $p variable), that would be nice to remove * The bug #2335 would be nice to fix finally -- I attached a patch for rewritten API * The bug #2401 was ignored so long that it was finally fixed by some of the other changes (I closed it). * For the sake of completeness, I would like to see fixed also a bug #2835, which I filled last month. It looks like I am not the only one who hit that issue. I ran some of the tests and I see some failures, but I will have to investigate them further and come back. Regards, -- Jakub Jelen Software Engineer Security Technologies Red Hat, Inc.
On Thu, 2018-03-22 at 14:42 +1100, Damien Miller wrote:> Hi, > > OpenSSH 7.7p1 is almost ready for release, so we would appreciate > testing > on as many platforms and systems as possible. This is a bugfix > release. > > [...] > > Running the regression tests supplied with Portable OpenSSH does not > require installation and is a simply: > > $ ./configure && make testsThe localcommand test failed for me (for other reasons) and after some more investigation, I found that the following commit introduced an pw argument to the load_public_identity_files() function, but is overwriting our local copy from main: https://github.com/openssh/openssh-portable/commit/b7548b1 The following diff makes it using our copied pw variable instead of overwriting it: diff --git a/ssh.c b/ssh.c index d3619fe2..98b15f6b 100644 --- a/ssh.c +++ b/ssh.c @@ -2041,8 +2041,6 @@ load_public_identity_files(struct passwd *pw) free(keys); } #endif /* ENABLE_PKCS11 */ - if ((pw = getpwuid(original_real_uid)) == NULL) - fatal("load_public_identity_files: getpwuid failed"); for (i = 0; i < options.num_identity_files; i++) { if (n_ids >= SSH_MAX_IDENTITY_FILES || strcasecmp(options.identity_files[i], "none") =0) { Regards, -- Jakub Jelen Software Engineer Security Technologies Red Hat, Inc.
On Tue, 27 Mar 2018, Jakub Jelen wrote:> On Thu, 2018-03-22 at 14:42 +1100, Damien Miller wrote: > > Hi, > > > > OpenSSH 7.7p1 is almost ready for release, so we would appreciate > > testing > > on as many platforms and systems as possible. This is a bugfix > > release. > > > > [...] > > > > Running the regression tests supplied with Portable OpenSSH does not > > require installation and is a simply: > > > > $ ./configure && make tests > > The localcommand test failed for me (for other reasons) and after some > more investigation, I found that the following commit introduced an pw > argument to the load_public_identity_files() function, but is > overwriting our local copy from main: > > https://github.com/openssh/openssh-portable/commit/b7548b1 > > The following diff makes it using our copied pw variable instead of > overwriting it:That should be removed, but I'm trying to understand how it could lead to problems. pw get overwritten locally, but AFAIK nothing from pw gets used after load_public_identity_files() exits. What problems were you seeing from this? It looks harmless to me and so I'd prefer to wait until after release to fix it. -d