Skip to content

OpenSSH 10.6 closes ten vulnerabilities: what root server operators do until the Debian update

Updates & News  ·   ·   ·  6 min Reading time

In brief
  • OpenSSH 10.6 was released on 6 October 2026 and fixes eleven security-relevant bugs. The Debian Security Tracker lists ten CVE numbers for it, from CVE-2026-106552 to CVE-2026-106589.
  • For Debian 12 and Debian 13, all ten are currently marked “vulnerable”, and there is no fixed package there yet. So far only Debian unstable is fixed.
  • None of the ten descriptions mentions remote code execution before login. Three settings in sshd_config remove the basis for the server-side vulnerabilities until the update arrives.

On almost every Linux server, SSH is the only way in. When the OpenSSH project publishes a version with a whole block of security fixes and your own distribution doesn't have a package yet, a practical question comes up: what can you do today, and what do you have to wait for?

What this is about

The release notes for OpenSSH 10.6 list eleven items under “Security”. The project writes that it has recently received a very large number of bug reports, many of them found with the help of AI tools. Because the same bugs are often discovered independently a second time shortly afterwards, the team plans to release smaller versions more often for now, instead of collecting fixes until the next major release. For operators, that means you should expect further security releases at short intervals.

We checked the state of the packages on 7 October 2026 in the Debian Security Tracker. Ten CVEs are listed there, all of them marked “vulnerable” for bookworm (Debian 12) and trixie (Debian 13).

ComponentBugWho is affected
sshdCredentials from a failed GSSAPI attempt are retained and are available after a different, successful login (CVE-2026-106553, CVE-2026-106555)Servers with GSSAPIAuthentication yes, so usually those with Kerberos
sshd and sshSide channel via shared compression: anyone who can inject their own data into a session can guess secrets from another channel of the same session by looking at the length of the encrypted packets (CVE-2026-106582)Connections with compression enabled that mix trusted and untrusted data
sshdThe restrict keyword in authorized_keys did not apply to tunnel forwarding (CVE-2026-106586)Servers with PermitTunnel other than no
sshdIn Match blocks, the value “none” was read as a file name for some options such as AuthorizedPrincipalsFile (CVE-2026-106587)Servers with such Match rules
sshd and sshCompressed packets were not limited to the maximum packet size (CVE-2026-106585)Connections with compression
sftpA malicious server can write files outside the target folder during recursive copying (CVE-2026-106552)You, as the client, when you fetch from a foreign server
ssh$ and \ in the user name on the command line could reach the shell via ProxyCommand or Match exec (CVE-2026-106583)Scripts that pass user names from foreign sources to ssh
ssh-keygenDaylight saving time converted incorrectly, so certificates expired up to an hour earlier or later (CVE-2026-106584)Anyone who issues SSH certificates

The tenth CVE (CVE-2026-106589) concerns platforms such as QNX 6, where the session process keeps running with root privileges. It doesn't matter for Linux servers.

What we checked

What matters is whether the preconditions are met at all on a normally set-up server. To find out, we looked up the default values in the manual pages and read out the settings on an unmodified Ubuntu 24.04 with OpenSSH 9.6:

  • GSSAPIAuthentication is no by default on the server. If you don't use Kerberos, the two GSSAPI bugs don't affect you.
  • PermitTunnel is no by default. The restrict bug only applies once you have deliberately allowed tunnels.
  • Compression is yes by default on the server and no on the client. So compression only happens when the client requests it, for example with ssh -C. When it does, though, the side channel applies in principle.

The result: for a server with default settings, what mainly remains is compression and the client-side bugs. Both can be defused without a new package.

Important: This assessment applies to the default values. If you have changed your sshd_config or use a template that does, the only thing that counts is what sshd -T prints on your server.

How to check your server

  1. Determine the version.
    ssh -V
    apt policy openssh-server
    Everything below 10.6 is affected, unless your distribution has backported the fixes. For Debian, the Security Tracker shows from which package version that is the case.
  2. Read out the effective settings.
    sudo sshd -T | grep -Ei '^(gssapiauthentication|compression|permittunnel) '
  3. Harden until the update. Add this to /etc/ssh/sshd_config or to a separate file under /etc/ssh/sshd_config.d/:
    Compression no
    GSSAPIAuthentication no
    PermitTunnel no
    Leave out GSSAPIAuthentication and PermitTunnel only if you actually use Kerberos or SSH tunnels.
  4. Test the configuration, then reload.
    sudo sshd -t && sudo systemctl reload ssh
    Keep the current session open and log in again in a second window before you close the first one.
  5. Install the update as soon as it is available.
    sudo apt update
    sudo apt install --only-upgrade openssh-server openssh-client

How to tell it worked

After the reload, sshd -T must show the new values, and logging in from the second window must work. After the package update, apt policy openssh-server shows the installed version. Compare it with the one listed as “fixed” in the Security Tracker.

Practical tip: These days, compression in SSH only helps on very slow connections. If you transfer large amounts of data, compress beforehand, for example with tar czf or zstd. The OpenSSH project recommends this too, and it is immune to this side channel.

And on your own machine?

Three of the bugs affect the client. Until your operating system delivers an update, it helps to use sftp -r and scp -r only against servers you trust, and not to pass user names from foreign input to ssh in scripts. By the way, from 10.6 on, scp -R prints a warning: the project wants to remove the option.

How to secure SSH access beyond this, with keys instead of passwords and with fail2ban, is covered in our post Securing SSH access properly. If the update fails on an old system, the post on upgrading from Debian 12 to Debian 13 will help.

Frequently asked questions

Do I have to act right away even though there is no Debian package yet?
Yes, but only with configuration: turn off compression, and disable GSSAPI and tunnels if you don't use them. You install the package as soon as Debian ships it.
Can an attacker use these vulnerabilities to execute code on my server without logging in?
None of the ten CVE descriptions in the Debian Security Tracker says so. The server-side bugs require Kerberos, allowed tunnels or enabled compression.
Do I lose anything if I set Compression no?
On fast connections, practically nothing. For large transfers, it's better to compress beforehand, for example with tar or zstd.
Will my running SSH session be disconnected when I reload?
No. systemctl reload ssh only affects new connections. Still, test logging in from a second window before you close the first session.
Prepaid-Host.com is itself a provider of servers, web hosting and domains, and reports here on its own market. How we handle that is set out in our disclosure statement.