OpenSSH 10.1 has been released, an open implementation of the client and server for working with SSH 2.0 and SFTP protocols.
Key Changes:
- A security issue has been resolved, allowing an attacker to inject shell commands through manipulation of special characters in the username or URI, which could be executed when running a command specified via the 'ProxyCommand' setting and containing the substitution '%u'. This issue affects only systems that allow username or URI substitutions from untrusted sources when invoking ssh.
To block such attacks, the use of control characters in usernames specified when launching from the command line or substituted in settings via %-sequences has been prohibited. The use of the null character ('\0') in ssh:// URIs is also banned. An exception is made only for names specified in the configuration file (it is assumed that the data in the configuration file is trustworthy).
- The ssh and ssh-agent utilities have added support for ed25519 keys stored in PKCS#11 tokens.
- The ssh_config file now includes the RefuseConnection setting, which, when processed in the active section, results in terminating the process with an error message output without attempting to establish a connection. Match host foo RefuseConnection 'host foo is no longer in use, please connect to host bar'
- Signal handlers for SIGINFO have been added to ssh and sshd to log session and active channel information.
- In sshd, when user authentication via certificate is denied, information is logged not only regarding the denial reason but also comprehensive information for identifying the problematic certificate.
- In sshd, a check for the X11 display number has been added to verify against the offset specified in the X11DisplayOffset directive.
- Performance measurement capabilities have been added to the unit test suite, activated when running 'make UNITTEST_BENCHMARK=yes' in OpenBSD or 'make unit-bench' in other systems.
Changes that may potentially break backward compatibility:
- In ssh, a warning has been added when using a key agreement algorithm that is not resistant to brute force attacks on quantum computers while establishing a connection. The warning was included due to the risk of future attacks using previously saved traffic dumps. To disable the warning, the WarnWeakCrypto option has been added to ssh_config. Match host unsafe.example.com WarnWeakCrypto no
- In ssh and sshd, the handling of DSCP (IPQoS) parameters has been significantly changed. For interactive traffic, the EF (Expedited Forwarding) class is now set by default for higher priority handling in wireless networks. For non-interactive traffic, the class is set to the default used by the operating system. The traffic class can be changed using the IPQoS settings in ssh_config and sshd_config. The ToS (type-of-service) parameters for IPv4 in the IPQoS directive have been deprecated (DSCP has replaced ToS).
- In ssh-add, when adding a certificate to the ssh-agent, the certificate's lifespan is set to be 5 minutes longer than its validity period (for automatic removal of expired certificates). To disable this behavior, the '-N' option has been added to ssh-add.
- Support for XMSS keys has been removed, which was marked as experimental and was never enabled by default.
- Unix sockets created by the ssh-agent and sshd processes have been moved from the /tmp directory to ~/.ssh/agent, ensuring that access to these sockets is impossible from isolated processes that have restricted filesystem access but open access to /tmp.
In future releases, SHA1 SSHFP DNS records will be deprecated due to issues with the reliability of the SHA1 hash function. These records will be ignored, and the 'ssh-keygen -r' command will generate only SHA256 SSHFP records.
Source: opennet.ru
