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 async-imap

Dependencies

(17 total, 3 outdated, 2 possibly insecure)

CrateRequiredLatestStatus
 async-channel^2.0.02.3.1up to date
 async-compression^0.4.150.4.18up to date
 async-std^1.8.01.13.0up to date
 base64^0.210.22.1out of date
 bytes^11.9.0up to date
 chrono ⚠️^0.40.4.39maybe insecure
 futures^0.3.150.3.31up to date
 imap-proto^0.16.40.16.5up to date
 log^0.4.80.4.25up to date
 nom^7.08.0.0out of date
 once_cell^1.8.01.20.2up to date
 pin-project^11.1.8up to date
 pin-utils^0.1.0-alpha.40.1.0up to date
 self_cell^1.0.11.1.0up to date
 stop-token^0.70.7.0up to date
 thiserror^1.0.92.0.11out of date
 tokio ⚠️^11.43.0maybe insecure

Dev dependencies

(3 total, 1 possibly insecure)

CrateRequiredLatestStatus
 async-std^1.8.01.13.0up to date
 pretty_assertions^1.21.4.1up to date
 tokio ⚠️^11.43.0maybe insecure

Security Vulnerabilities

chrono: Potential segfault in `localtime_r` invocations

RUSTSEC-2020-0159

Impact

Unix-like operating systems may segfault due to dereferencing a dangling pointer in specific circumstances. This requires an environment variable to be set in a different thread than the affected functions. This may occur without the user's knowledge, notably in a third-party library.

Workarounds

No workarounds are known.

References

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