🛡️ CVE-2025-54804 — russh

🟡 CVSS 6.5 — Medium ⚠️ Exploit Public CWE-190 NVD
6.5
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

russh is missing overflow checks during channel windows adjust

Summary

The channel window adjust message of the SSH protocol is used to track the free space in the receive buffer of the other side of a channel. The current implementation takes the value from the message and adds it to an internal state value. This can result in a integer overflow. If the Rust code is compiled with overflow checks, it will panic. A malicious client can crash a server.

Details

According https://datatracker.ietf.org/doc/html/rfc4254#section-5.2, The value must not overflow.

The incorrect handling is done in server/encrypted.rs and client/encrypted.rs in the handling of CHANNEL_WINDOW_ADJUST.

```

let amount = map_err!(u32::decode(&mut r))?;

...

channel.recipient_window_size += amount;

```

It could be replaced with something like

```

if let Some(ref mut channel) = enc.channels.get_mut(&channel_num) {

// rfc 4254: The window MUST NOT be increased above 2^32 - 1 bytes.

new_size = channel.recipient_window_size.saturating_add(amount);

channel.recipient_window_size = new_size;

}

...

```

PoC

A customized client code would be required to send a message with a big value like u32_max. Not done yet.

Impact

This problem seems only critical to a server. One user can crash the server, which might take down the service. A malicious server could also crash a single client, but this seems not very critical.

How this vulnerability can be exploited

This issue can be reached over the network, attack complexity is low, an attacker needs low-level privileges on the target. No user interaction is required. The scope is unchanged, so the impact stays within the vulnerable component. Rated impact: confidentiality none, integrity none, availability high.

Weakness class

CVE-2025-54804 is classified as CWE-190: Integer Overflow or Wraparound. Arithmetic produces a value too large for its type and wraps around, so a later size or bounds check passes when it should not.

Affected software

CVE-2025-54804 is recorded against 2 packages.

  • russh
  • warpgate (fixed in 0.16.0)

Timeline and source

Published on 4 August 2025 and last revised on 17 June 2026. A public exploit is known to exist, which raises the urgency of patching considerably. A vendor advisory or fix has been published. Record sourced from NVD.

References

github.com (Web)
nvd.nist.gov (Advisory)
github.com (Web)
github.com (Package)

Details

Severity MEDIUM
CVSS Score 6.5
CVSS Vector CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CWE CWE-190
Public Exploit ⚠️ Yes
Source NVD
Published 2025-08-04
Updated 2026-08-12
Modified 2026-06-17

Affected Packages

Software From version Fixed in
russh
warpgate 0.16.0

Similar Threats

Exploit Protection

Are you running russh?

CVE-2025-54804 carries CVSS 6.5 Medium rating and a public exploit already exists. BotEraser checks your installation against this and other known CVE records, and blocks IPs associated with exploit activity.

Check My Site For CVE-2025-54804 →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.