Eugeny/russh
 Watch   
 Star   
 Fork   
5 days ago
russh

v0.63.3

Fixes

  • c13b259: enforce inactivity timeout even during stalled writes (Eugene)
11 days ago
russh

v0.63.2

Security fixes

GHSA-g4mp-vgx3-xrvm - out-of-bounds read in pageant

A malicious Pageant agent could cause an out-of-bounds read / oversized allocation in the pageant library user.

GHSA-35g8-35p8-c8fw - unbounded memory allocation in server

An authenticated client could trigger unbounded memory allocation during rekey phase

Fixes

  • client: encode the negotiated hash algorithm for RSA certificates (#764) #764 (Jeongkyu Shin)
  • 4206815: Fix pty-req terminal modes: deliver them unpadded, encode the right l… (#755) (tluyben) #755
  • b1d3893: fixed #762 - redact sensitive data from debug logging (Eugene)
  • 66789f4: fixed #761 - data write split across a kex breaks (Eugene)
  • a04e1b5: fixed #758 - fail RSA signing explicitly when RSA feature is not enabled (Eugene)
  • 422123c: dedup zlib compress loop into compress_into (Eugene)
22 days ago
russh

v0.63.1

Security fixes

GHSA-47hw-gvq5-r2gm - client-side Handler callbacks reachable with invalid channel IDs

A mirror of GHSA-m65r-rprj-r5rg for the client side - Handler per-channel callbacks are called even when the server supplies an invalid (never opened) channel ID. Depending on what the handler does this can lead to a vulnerability.

GHSA-p8qx-h547-fjw9 - MAC-requiring block cipher can be negotiated without MAC and panic

Two peers disagreeing on supported MACs can end up negotiating none MAC for a cipher that requires one, which leads to the session task panicking.

24 days ago
russh

v0.63.0

Features

  • 09f6582: Support host certificates on the client side (#752) (@biao29) #752

    • This changes the signature of Handler::check_server_key to take a new PublicKeyOrCertificate enum instead of &PublicKey
  • d7601ae: Support host certificates on the server side (#641) (Georg von Zengen) #641

    • Adds a Config::certificates that functions similarly to Config::keys

Fixes

  • f2354c7: improve strict kex checks (Eugene)
  • 0363fde: fixed PKCS#8 parsing panicking on incorrect contents (Eugene)
  • 46c927a: use constant-time comparison for agent unlock (Eugene)
  • 8da8967: sanitize Curve25519 params (Eugene)

Full Changelog: https://github.com/Eugeny/russh/compare/v0.62.7...v0.63.0

28 days ago
russh

v0.63.0-beta.1

Features

  • 09f6582: Support host certificates on the client side (#752) (@biao29) #752
  • d7601ae: Support host certificates on the server side (#641) (Georg von Zengen) #641

Full Changelog: https://github.com/Eugeny/russh/compare/v0.62.7...v0.63.0-beta.1

28 days ago
russh

v0.62.7

Features

  • client: support gssapi-with-mic auth (#738) #738 (ayamir)

Fixes

  • don't truncate decompressed packets that expand more than 2x (#750) #750 (Luiz Ribeiro)
  • c9da80c: Pageant WM_COPYDATA protocol fix & token tightening (#624) (vzex) #624
  • fall back to GetUserNameA when GetUserNameExA fails (#726) #726 (cwatanab)
2026-08-11 17:21:41
russh

v0.62.6

Security fixes

GHSA-g6xm-f9xp-qq35 - server-side max_auth_attempts was not enforced - f8fd0b1

Config::max_auth_attempts was not being properly enforced by russh server implementation.

Fixes

  • c66837e: Fix deadlock when handling open channel on contended handler (#734) (Eric Rodrigues Pires) #734

Changes

  • c465e3f: accept a single trailing comma in SSH name-lists (#743) (PokAhonTAS911) #743
  • add Motor OS support (#742) #742 (lasiotus)
2026-08-01 04:08:07
russh

v0.62.5

Security fixes

GHSA-m65r-rprj-r5rg - Handler channel callbacks called for non-existing channel - 7c5659f

Russh server did not validate channel IDs passed by a client, so if a client constructed a channel message with an invalid ID, the server-side Handler callback would still get called with that non-existing ID. The consequence of this depend on the specific user implementation.

Fixes

  • de96ad1: fixed #725 - add backpressure to Channel::data() (Eugene)

Full Changelog: https://github.com/Eugeny/russh/compare/v0.62.4...v0.62.5

2026-07-23 03:13:36
russh

v0.62.4

Security fixes

Three independent bugs have allowed a client to trigger a panic in the session handler task, thereby crashing their own session.

  • GHSA-cqjc-rmpq-xprq: sending a malformed PTY request packet - 8912512
  • GHSA-g9hv-x236-4qp3: sending a malformed Curve25519 KEX packet - a7fc1eb
  • GHSA-5xvq-cp9x-6p6r: sending a zero Curve25519 key - a7fc1eb

Misc

  • russh: bump russh-sftp dev-dependency 2.1.0 → 2.3.0 (#728) #728 (Sion Kang)
2026-07-21 01:18:57
russh

v0.62.3

Changes

  • 2e3f1cc: Update more RustCrypto dependencies to stabilized versions (#735) (kpcyrd) [#735]