Release of OpenSSH 8.0

After five months of development introduced release OpenSSH 8.0, an open implementation of a client and server for working with SSH 2.0 and SFTP protocols.

Key Changes:

  • Experimental support for a key exchange method resistant to quantum computer attacks has been added to ssh and sshd. Quantum computers can solve the task of factoring natural numbers into prime factors, which is the basis of modern asymmetric encryption algorithms, significantly faster than classical processors. The proposed method is based on the algorithm NTRU Prime (function ntrup4591761), designed for post-quantum cryptosystems, and a key exchange method based on elliptic curves X25519;
  • Support for the outdated syntax 'host/port' in the ListenAddress and PermitOpen directives of sshd has been discontinued. This syntax was introduced in 2001 as an alternative to 'host:port' to simplify work with IPv6. The established syntax for IPv6 is now '[::1]:22', and 'host/port' is often confused with subnet notation (CIDR);
  • Support for keys has been implemented in ssh, ssh-agent, and ssh-add ECDSA in PKCS#11 tokens;
  • In ssh-keygen, the default RSA key size has been increased to 3072 bits, in accordance with new NIST recommendations;
  • In ssh, it is permitted to use the setting 'PKCS11Provider=none' to override the PKCS11Provider directive specified in ssh_config;
  • In sshd, logging has been enhanced to capture situations when a connection is terminated while attempting to execute commands blocked by the 'ForceCommand=internal-sftp' restriction in sshd_config;
  • In ssh, when prompting for confirmation of a new host key, a correct key fingerprint is now accepted instead of the answer 'yes' (the user can copy the obtained hash from the clipboard and compare it manually to confirm the connection);
  • In ssh-keygen, automatic incrementing of the sequence number in the certificate has been implemented when creating digital signatures for multiple certificates via the command line;
  • A new option '-J' has been added to scp and sftp, equivalent to the ProxyJump setting;
  • Support for the command line option '-v' has been added to ssh-agent, ssh-pkcs11-helper, and ssh-add to increase the output verbosity (when specified, this option is passed to child processes, for instance, when ssh-pkcs11-helper is called from ssh-agent);
  • In ssh-add, an option '-T' has been added to test the suitability of keys in ssh-agent for performing digital signature creation and verification operations;
  • The sftp-server has implemented support for the protocol extension "lsetstat at openssh.com", which adds support for the SSH2_FXP_SETSTAT operation in SFTP, but without following symbolic links.
  • The sftp command now includes the "-h" option for executing chown/chgrp/chmod commands with requests that do not use symbolic links.
  • The sshd now sets the $SSH_CONNECTION environment variable for PAM.
  • For sshd, a "Match final" matching mode has been added to ssh_config, similar to "Match canonical", but without requiring host name normalization.
  • The sftp command has added support for the prefix ‘@’ to disable the translation of output from commands executed in batch mode.
  • When displaying the contents of a certificate using the command
    "ssh-keygen -Lf /path/certificate", the algorithm used by the certificate authority to sign the certificate is now shown.
  • Improved support for the Cygwin environment, for example, allowing comparison of group and user names without case sensitivity. The sshd process for Cygwin has been changed to cygsshd to avoid conflicts with the OpenSSH port provided by Microsoft.
  • Added the ability to build with the experimental OpenSSL 3.x branch.
  • Resolved vulnerability (CVE-2019-6111) in the implementation of the scp utility, which allows arbitrary files to be overwritten in the target directory on the client side when accessing a maliciously controlled server. The issue lies in the fact that when using scp, the server decides which files and directories to send to the client, while the client only verifies the correctness of the returned object names. Client-side verification is limited to blocking traversal beyond the current directory ("..\/"), but does not account for transferring files with names different from those originally requested. In the case of recursive copying (-r), it is possible to manipulate both file names and subdirectory names in this way. For example, when a user is copying files to their home directory, a server controlled by an attacker could return files named .bash_aliases or .ssh\/authorized_keys instead of the requested files, and they would be saved by the scp utility in the user's home directory.

    The new release of the scp utility includes a check for matching requested and returned server file names, performed on the client side. This may lead to issues with the handling of masks, as mask characters can be processed differently on the server and client sides. In case the client stops accepting files due to such discrepancies, the option "-T" has been added to disable the client-side check. A comprehensive fix for the issue requires a conceptual overhaul of the scp protocol, which is already outdated, so it is recommended to use more modern protocols like sftp and rsync instead.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster