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 distill-loader

Dependencies

(16 total, 7 outdated, 3 possibly insecure)

CrateRequiredLatestStatus
 capnp ⚠️^0.14.00.19.5out of date
 capnp-rpc^0.14.00.19.1out of date
 crossbeam-channel^0.5.00.5.12up to date
 dashmap^4.0.15.5.3out of date
 distill-core=0.0.20.0.3out of date
 distill-schema=0.0.20.0.3out of date
 futures-channel^0.30.3.30up to date
 futures-core^0.30.3.30up to date
 futures-util^0.30.3.30up to date
 log^0.40.4.21up to date
 memmap^0.70.7.0up to date
 serde^11.0.202up to date
 thread_local ⚠️^1.01.1.8maybe insecure
 tokio ⚠️^1.01.37.0maybe insecure
 tokio-util^0.6.10.7.11out of date
 uuid^0.8.21.8.0out of date

Security Vulnerabilities

thread_local: Data race in `Iter` and `IterMut`

RUSTSEC-2022-0006

In the affected version of this crate, {Iter, IterMut}::next used a weaker memory ordering when loading values than what was required, exposing a potential data race when iterating over a ThreadLocal's values.

Crates using Iter::next, or IterMut::next are affected by this issue.

capnp: out-of-bounds read possible when setting list-of-pointers

RUSTSEC-2022-0068

If a message consumer expects data of type "list of pointers", and if the consumer performs certain specific actions on such data, then a message producer can cause the consumer to read out-of-bounds memory. This could trigger a process crash in the consumer, or in some cases could allow exfiltration of private in-memory data.

The C++ Cap'n Proto library is also affected by this bug. See the advisory on the main Cap'n Proto repo for a succinct description of the exact circumstances in which the problem can arise.

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