russh is vulnerable to Use of a Broken or Risky Cryptographic Algorithm
43
Medium Risk
russh implements a hybrid ML-KEM 768 + X25519 key exchange in hybrid_mlkem.rs that does not validate the remote peer's X25519 public value before combining it into the shared secret. A peer can send an all-zero X25519 point alongside a valid ML-KEM encapsulation key, nullifying the X25519 contribution and downgrading the exchange to rely on ML-KEM alone. This weakens the classical half of the post-quantum hybrid guarantee for that session. The fix rejects zero and other low-order X25519 points during the hybrid exchange, matching the check already used in the standalone Curve25519 code.
You are affected if you are using a version that falls within the vulnerable range and your deployment negotiates the hybrid ML-KEM 768 with X25519 key exchange.
russh is vulnerable to Use of a Broken or Risky Cryptographic Algorithm in versions 0.0.1 - 0.62.7.
Upgrade the russh library to the patch version.
Connect your repositories to instantly see whether vulnerable or malicious packages exist in your codebase.
Free. No credit card required.

I consent to receiving marketing communications based on Aikido’s Privacy Policy.
SOC 2Compliant
ISO 27001Compliant