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 libp2p-webrtc

Dependencies

(17 total, 6 outdated, 1 possibly insecure)

CrateRequiredLatestStatus
 anyhow^1.0.561.0.93up to date
 async-datachannel^0.3.00.4.0out of date
 async-datachannel-wasm^0.2.00.2.1up to date
 async-stream^0.3.20.3.6up to date
 async-tungstenite^0.17.10.28.0out of date
 futures-timer^3.0.23.0.3up to date
 http^0.2.61.1.0out of date
 libp2p ⚠️^0.43.00.54.1out of date
 log^0.4.140.4.22up to date
 parking_lot^0.12.00.12.3up to date
 pin-project^1.0.101.1.7up to date
 send_wrapper^0.5.00.6.0out of date
 serde^1.0.1361.0.215up to date
 serde_json^1.0.791.0.133up to date
 streamunordered^0.5.20.5.4up to date
 thiserror^1.0.302.0.3out of date
 ws_stream_wasm^0.7.30.7.4up to date

Dev dependencies

(6 total, 2 outdated, 2 possibly insecure)

CrateRequiredLatestStatus
 console_log^0.2.01.0.0out of date
 libp2p ⚠️^0.43.00.54.1out of date
 tokio ⚠️^1.17.01.41.1maybe insecure
 tracing-subscriber^0.3.90.3.18up to date
 wasm-bindgen-futures^0.4.290.4.45up to date
 wasm-bindgen-test^0.3.290.3.45up to date

Security Vulnerabilities

libp2p: libp2p Lack of resource management DoS

RUSTSEC-2022-0084

libp2p allows a potential attacker to cause victim p2p node to run out of memory

The out of memory failure can cause crashes where libp2p is intended to be used within large scale networks leading to potential Denial of Service (DoS) vector

Users should upgrade or reference the DoS mitigation strategies.

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