This project might be open to known security vulnerabilities, which can be prevented by tightening the version range of affected dependencies. Find detailed information at the bottom.

Crate shadowsocks

Dependencies

(32 total, 9 outdated, 1 possibly insecure)

CrateRequiredLatestStatus
 aes^0.80.8.4up to date
 arc-swap^1.71.7.1up to date
 base64^0.220.22.1up to date
 blake3^1.51.8.2up to date
 bloomfilter^3.0.03.0.1up to date
 byte_string^1.01.0.0up to date
 bytes^1.71.10.1up to date
 cfg-if^11.0.4up to date
 dynosaur^0.1.20.3.0out of date
 futures^0.30.3.31up to date
 hickory-resolver=0.25.0-alpha.40.25.2out of date
 libc~0.2.1410.2.177up to date
 log^0.40.4.28up to date
 lru_time_cache^0.110.11.11up to date
 notify^7.08.2.0out of date
 once_cell^1.171.21.3up to date
 percent-encoding^2.12.3.2up to date
 pin-project^1.11.1.10up to date
 rand^0.80.9.2out of date
 sendfd^0.40.4.4up to date
 serde^1.01.0.228up to date
 serde_json^1.01.0.145up to date
 serde_urlencoded^0.70.7.1up to date
 shadowsocks-crypto^0.5.80.6.1out of date
 socket2^0.50.6.1out of date
 spin^0.90.10.0out of date
 thiserror^2.02.0.17up to date
 tokio ⚠️^1.9.01.48.0maybe insecure
 tokio-tfo^0.30.4.1out of date
 trait-variant^0.10.1.2up to date
 url^2.52.5.7up to date
 windows-sys^0.590.61.2out of date

Dev dependencies

(1 total, all up-to-date)

CrateRequiredLatestStatus
 env_logger^0.110.11.8up to date

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);