This project contains known security vulnerabilities. Find detailed information at the bottom.

Crate russh-keys

Dependencies

(45 total, 1 outdated, 1 insecure, 2 possibly insecure)

CrateRequiredLatestStatus
 aes^0.80.8.4up to date
 async-trait^0.10.1.82up to date
 bcrypt-pbkdf^0.100.10.0up to date
 block-padding^0.30.3.3up to date
 byteorder^1.41.5.0up to date
 cbc^0.10.1.2up to date
 ctr^0.90.9.2up to date
 data-encoding^2.32.6.0up to date
 der^0.70.7.9up to date
 digest^0.100.10.7up to date
 ecdsa^0.160.16.9up to date
 ed25519-dalek^2.02.1.1up to date
 elliptic-curve^0.130.13.8up to date
 futures^0.30.3.30up to date
 hmac^0.120.12.1up to date
 home^0.50.5.9up to date
 inout^0.10.1.3up to date
 log^0.40.4.22up to date
 md5^0.70.7.0up to date
 num-integer^0.10.1.46up to date
 openssl ⚠️^0.100.10.66maybe insecure
 p256^0.130.13.2up to date
 p384^0.130.13.0up to date
 p521^0.130.13.3up to date
 pbkdf2^0.110.12.2out of date
 pkcs1^0.70.7.5up to date
 pkcs5^0.70.7.1up to date
 pkcs8^0.100.10.2up to date
 rand^0.80.8.5up to date
 rand_core^0.6.40.6.4up to date
 rsa ⚠️^0.90.9.6insecure
 russh-cryptovec^0.7.00.7.3up to date
 sec1^0.70.7.3up to date
 serde^1.01.0.210up to date
 sha1^0.100.10.6up to date
 sha2^0.100.10.8up to date
 spki^0.70.7.3up to date
 ssh-encoding^0.20.2.0up to date
 ssh-key^0.60.6.6up to date
 thiserror^1.01.0.63up to date
 tokio ⚠️^1.17.01.40.0maybe insecure
 tokio-stream^0.10.1.16up to date
 typenum^1.171.17.0up to date
 yasna^0.5.00.5.2up to date
 zeroize^1.71.8.1up to date

Dev dependencies

(3 total, 1 outdated, 1 possibly insecure)

CrateRequiredLatestStatus
 env_logger^0.100.11.5out of date
 tempdir^0.30.3.7up to date
 tokio ⚠️^1.17.01.40.0maybe insecure

Security Vulnerabilities

tokio: reject_remote_clients Configuration corruption

RUSTSEC-2023-0001

On Windows, configuring a named pipe server with pipe_mode will force ServerOptions::reject_remote_clients as false.

This drops any intended explicit configuration for the reject_remote_clients that may have been set as true previously.

The default setting of reject_remote_clients is normally true meaning the default is also overridden as false.

Workarounds

Ensure that pipe_mode is set first after initializing a ServerOptions. For example:

let mut opts = ServerOptions::new();
opts.pipe_mode(PipeMode::Message);
opts.reject_remote_clients(true);

rsa: Marvin Attack: potential key recovery through timing sidechannels

RUSTSEC-2023-0071

Impact

Due to a non-constant-time implementation, information about the private key is leaked through timing information which is observable over the network. An attacker may be able to use that information to recover the key.

Patches

No patch is yet available, however work is underway to migrate to a fully constant-time implementation.

Workarounds

The only currently available workaround is to avoid using the rsa crate in settings where attackers are able to observe timing information, e.g. local use on a non-compromised computer is fine.

References

This vulnerability was discovered as part of the "Marvin Attack", which revealed several implementations of RSA including OpenSSL had not properly mitigated timing sidechannel attacks.

openssl: `MemBio::get_buf` has undefined behavior with empty buffers

RUSTSEC-2024-0357

Previously, MemBio::get_buf called slice::from_raw_parts with a null-pointer, which violates the functions invariants, leading to undefined behavior. In debug builds this would produce an assertion failure. This is now fixed.