Skip to content

Build Widely confirmed5 publishers 3 min read Published Updated

OpenSSH 10.6 turns off LZ77 compression to stop a cross-channel plaintext leak

OpenSSH 10.6, released October 6, turns off the LZ77 coder in SSH compression to block an attack that reads one channel's secrets from another. Hosts using the Compression option will get less from it, so the project suggests compressing in the application.

The Engineer · Build desk

Send a correction

Illustration accompanying OpenSSH 10.6 turns off LZ77 compression to stop a cross-channel plaintext leak
Generated illustration

What happened

  • The attack works only when compression is on and the attacker has a channel carrying chosen input, and the researchers say it is not known how often both hold in practice.
  • Version 10.6 enables the hybrid post-quantum signature ssh-mldsa44-ed25519, and keys made with its experimental predecessor must be regenerated or removed.
  • The remote-to-remote scp -R option is deprecated over security risks and will be ignored in a future release.

Why it matters

  • What it costs cost Bandwidth-constrained hosts that relied on SSH's Compression option will move more bytes after upgrading unless each transfer tool is changed to compress its own payload.
  • Who has to decide decision Shops that take OpenSSH only through slow vendor rebuilds will fall further behind upstream fixes, so they have to choose between tracking upstream releases and accepting a longer gap.
  • What it limits constraint Host-to-host copy jobs built on scp -R need another route before a release that ignores the option reaches those machines.

The paper's title describes the bug almost completely: "Crossing the Streams: SSH Plaintext Recovery via a Common Compression Context in Multiplexed Channels" [4]. Channels carried on one SSH connection compress against shared state. An attacker who can push chosen input into one channel and watch ciphertext lengths can recover secret data sent on another [4]. The coder OpenSSH turned off is the part that keeps the shared dictionary, and the project says that dictionary behavior is what the attack relied on [3]. LWN reports the change lands in both ssh and sshd [5].

Two conditions have to hold at once: compression switched on, and an attacker with a channel that carries chosen input [16]. According to the researchers, it is not known how often those coincide in real deployments [16]. OpenSSH's maintainers had already advised against compression on connections that mix trusted and untrusted traffic [17]. Hosts that followed that advice were not running the configuration the attack needs [22].

Hosts that enabled `Compression` to save bandwidth pay for the fix. The option still exists but does less [2]. Release notes for 10.6 recommend application-level compression where practical [2]. For a file transfer, that means the tool compresses its own payload before SSH carries it. I think this is the right default for code built into so many operating systems and products [19]. The efficiency loss hits only hosts that opted into compression, while the leak could reach data on any other channel sharing their connection [4].

Compression shows up in one more fix, for compressed payloads larger than the supported packet size [13]. The SFTP client now validates server-returned paths more strictly, so a malicious server cannot steer a recursive copy outside its target directory [10]. GSSAPI authentication no longer keeps credentials from failed attempts, and it resets its state between tries [12]. Other fixes cover command-line usernames containing dollar signs or backslashes, a shell-injection risk in some configurations, and the authorized_keys `restrict` keyword for tunnel forwarding [13]. Runtimewire describes these as specific hardening measures, not a claim that every configuration was exposed [15].

The cadence change has a stated cause. According to the maintainers, they have received a large number of security reports built on AI model findings or AI-assisted analysis, and many are not security issues under a realistic threat model [6]. Some AI-identified bugs were later found independently by another researcher [6]. When two parties can find the same bug on their own, a fix held for a scheduled release gives the next finder time to use it. The project's announcement, as quoted by LWN, says: "We very much welcome these reports, especially when combined with human triage, analysis, test-cases and particularly when accompanied by proposed fixes" [8]. Fixes will now ship in more frequent releases instead of waiting for the next planned one [7]. The release notes do not quantify the reports or say how many produced fixes [9]. The project also says few of the companies that ship OpenSSH in their products help fund it [20].

On the post-quantum side, 10.6 enables `ssh-mldsa44-ed25519`, a hybrid signature that pairs ML-DSA-44 with Ed25519 [11]. Keys created with the earlier experimental version must be regenerated or removed [14]. A new server option, `WarnWeakCrypto`, is on by default and logs when a client uses key agreement that is not post-quantum safe [21]. Every such client will produce a log line after the upgrade [21]. The remote-to-remote `scp -R` option is deprecated over security risks and will be ignored in a future release [18].

OpenSSH ships inside operating systems and commercial products [19]. Each of them picks up the compression change and the faster release stream only when its vendor ships 10.6 and the releases after it [19][7].

What to watch

  • Whether operating system and appliance vendors ship 10.6 itself or backport only the LZ77 change into the older OpenSSH versions they carry.
  • How often OpenSSH actually ships releases in the coming months, and whether the project ever counts how many AI-assisted reports led to fixes.
  • The OpenSSH release in which scp -R moves from deprecated to ignored.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence82
Adoption
Not scored
Hype gap+5
Incentives20
Confidence78

Perspective Coverage

5 publishers
Builder
Builder 42%
Operator
Operator 52%
Investor
Investor 6%
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    OpenSSH 10.6 was released October 6th, disabling the LZ77 dictionary coder in SSH compression to address a cross-channel side channel researchers demonstrated earlier this year.

    Reported Supported Source: runtimewire.comView cited source
  2. [2]

    OpenSSH's fix disables the LZ77 dictionary coder, making the Compression option less effective; the release notes recommend application-level compression where practical.

    Reported Supported Source: runtimewire.com, citing OpenSSH release notesView cited source
  3. [3]

    With the change, the project removes the shared dictionary behavior implicated in the attack.

    Reported Supported Source: runtimewire.comView cited source
  4. [4]

    Fabian Baumer and Marcus Brinkmann's paper, "Crossing the Streams: SSH Plaintext Recovery via a Common Compression Context in Multiplexed Channels", describes how an attacker could use chosen input on one SSH channel and observe ciphertext lengths to recover secret data sent on another.

    Reported Supported Source: runtimewire.com, describing the paperView cited source
  5. [5]

    The LZ77 dictionary coder is disabled in ssh and sshd to mitigate side-channel leaks, which will reduce the effectiveness of the Compression option.

    Reported Supported Source: LWNView cited source
  6. [6]

    OpenSSH maintainers say they have received a large number of security reports based on AI model findings or AI-assisted analysis; many do not amount to security issues under a realistic threat model, and some AI-identified bugs were later found independently by another researcher.

    Reported Supported Source: OpenSSH maintainers, via runtimewire.comView cited source
  7. [7]

    The project expects to make more frequent releases to get updates to users more quickly rather than batching bug fixes until the next planned release.

    Reported Supported Source: LWN, summarising the OpenSSH announcementView cited source
  8. [8]

    "We very much welcome these reports, especially when combined with human triage, analysis, test-cases and particularly when accompanied by proposed fixes"

    Reported Supported Source: OpenSSH release announcement, as quoted by LWNView cited source
  9. [9]

    The release notes do not quantify the reports or say how many produced fixes.

    Reported Supported Source: runtimewire.comView cited source
  10. [10]

    The SFTP client now validates paths returned by a server more strictly to prevent certain malicious responses from steering recursive copies outside their intended target directory.

    Reported Supported Source: runtimewire.comView cited source
  11. [11]

    The release enables a hybrid post-quantum signature algorithm, ssh-mldsa44-ed25519, combining ML-DSA-44 with Ed25519.

    Reported Supported Source: runtimewire.comView cited source
  12. [12]

    The release changes GSSAPI authentication handling so credentials from failed attempts are not retained for later use, and resets authentication state between attempts.

    Reported Supported Source: runtimewire.comView cited source
  13. [13]

    Other fixes address command-line usernames containing dollar signs or backslashes, which could create shell-injection risks in some configurations; compressed payloads exceeding the supported packet size; and handling of the authorized_keys restrict keyword for tunnel forwarding.

    Reported Supported Source: runtimewire.comView cited source
  14. [14]

    Users of keys created with the previous experimental version of the hybrid algorithm must regenerate or remove those keys, according to the release notes.

    Reported Supported Source: OpenSSH release notes, via runtimewire.comView cited source
  15. [15]

    These are specific hardening measures, not a claim that every configuration was exposed to each issue.

    Reported Supported Source: runtimewire.comView cited source
  16. [16]

    The method depends on multiple conditions, including compression and attacker access to a channel that can carry chosen input; the researchers say how often those conditions coincide in real deployments is not known.

    Reported Supported Source: runtimewire.com, citing the researchersView cited source
  17. [17]

    The maintainers had already advised against enabling compression on connections that mix trusted and untrusted traffic.

    Reported Supported Source: runtimewire.comView cited source
  18. [18]

    The scp -R option, which allows copies between two remote hosts, is being deprecated due to security risks; the option will be ignored in the future.

    Reported Supported Source: LWNView cited source
  19. [19]

    OpenSSH is embedded across operating systems and commercial products, so changes to compression and release cadence affect a wide range of deployments.

    Reported Supported Source: runtimewire.comView cited source
  20. [20]

    OpenSSH is incorporated into commercial products, but the project says few of those companies help fund its work; maintenance relies on community reports, code, testing and donations.

    Reported Supported Source: OpenSSH project, via runtimewire.comView cited source
  21. [21]

    OpenSSH adds a server-side WarnWeakCrypto option, enabled by default, to log when a client uses a key-agreement method that is not post-quantum safe.

    Reported Supported Source: runtimewire.comView cited source
  22. [22]

    Hosts that followed the maintainers' earlier advice against compression on mixed trusted/untrusted connections were not running the configuration the attack requires.

    Derived Supported

Sources

5 independent publishers whose own reporting we read for this story.

  1. dev.to

    1 article · October 7, 2026

    OpenSSH 10.6 Ships a Compression Side-Channel Fix as a Default: Why It Matters
  2. helpnetsecurity.com

    1 article · October 6, 2026

    OpenSSH 10.6 enables a post-quantum signature algorithm, so experimental keys need replacing
  3. lwn.net

    1 article · October 6, 2026

    OpenSSH 10.6 released
  4. runtimewire.com

    1 article · October 6, 2026

    OpenSSH 10.6 disables LZ77 in SSH compression after side-channel research
  5. thenewstack.io

    1 article · October 7, 2026

    OpenSSH 10.6 deliberately breaks two features in the name of security

Topics and entities

Entities