OpenSSH 10.6 blocks risky usernames and drops compression
The release refuses backslash and dollar characters in command-line usernames, disables LZ77 compression over a side-channel leak, and starts deprecating scp -R.
OpenSSH 10.6 shipped on 6 October with two changes that can break scripts rather than wait for anyone to read a changelog. The ssh client now refuses command-line usernames that contain a backslash or a dollar sign, closing a shell-injection route through features like ProxyCommand and Match exec. Usernames set in config files are untouched.
The release also disables the LZ77 dictionary coder used for SSH compression, on by default until now, to close a chosen-plaintext side-channel that could leak secrets when attacker-controlled and sensitive data share a compression context. OpenSSH’s own advice if you still want compression is to do it at the application layer instead. Separately, scp -R (remote-to-remote copies) starts a deprecation cycle with a warning on stderr, and a hybrid post-quantum ssh-mldsa44-ed25519 signature algorithm is now enabled by default, replacing the old experimental @openssh.com-suffixed version — keys generated under that experimental algorithm need regenerating.
ssh 'admin\;rm -rf /'@host
# OpenSSH 10.6: refused -- backslash and $ are no longer
# allowed in a username given on the command line
The OpenSSH team also says it will ship fixes more often from now on, citing a rise in AI-assisted vulnerability reports that an adversary could just as easily have found first.
Why it matters: if any script or CI job passes a username on the ssh command line, or relies on SSH-level compression, test it against 10.6 before upgrading — both now behave differently by default on software that runs on nearly every server and dev machine.