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-core
Dependencies (11 total, 1 outdated)
Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status async-std ^1.6.2
1.13.0
up to date
Crate autonat-example
Dependencies (1 total, all up-to-date)
Crate Required Latest Status clap ^4.5.6
4.5.21
up to date
Crate autonatv2
Dependencies (10 total, 4 outdated)
Crate browser-webrtc-example
Dependencies (2 total, all up-to-date)
Crate Required Latest Status anyhow ^1.0.86
1.0.93
up to date rand ^0.8
0.8.5
up to date
Crate chat-example
Dependencies (1 total, all up-to-date)
Crate Required Latest Status async-trait ^0.1
0.1.83
up to date
Crate dcutr-example
Dependencies (3 total, all up-to-date)
Crate Required Latest Status clap ^4.5.6
4.5.21
up to date futures-timer ^3.0
3.0.3
up to date log ^0.4
0.4.22
up to date
Crate distributed-key-value-store-example
Dependencies (1 total, all up-to-date)
Crate Required Latest Status async-trait ^0.1
0.1.83
up to date
Crate file-sharing-example
Dependencies (2 total, all up-to-date)
Crate Required Latest Status serde ^1.0
1.0.215
up to date clap ^4.5.6
4.5.21
up to date
Crate identify-example
Dependencies (1 total, all up-to-date)
Crate Required Latest Status tokio ^1.37.0
1.41.1
up to date
Crate ipfs-kad-example
Dependencies (4 total, 1 outdated)
Crate ipfs-private-example
Dependencies (2 total, all up-to-date)
Crate Required Latest Status async-trait ^0.1
0.1.83
up to date either ^1.12
1.13.0
up to date
Crate metrics-example
Dependencies (5 total, 4 outdated)
Crate ping-example
No external dependencies! 🙌
Crate relay-server-example
Dependencies (2 total, all up-to-date)
Crate Required Latest Status clap ^4.5.6
4.5.21
up to date tokio ^1.37.0
1.41.1
up to date
Crate rendezvous-example
No external dependencies! 🙌
Crate stream-example
Dependencies (2 total, all up-to-date)
Crate Required Latest Status anyhow ^1
1.0.93
up to date rand ^0.8
0.8.5
up to date
Crate upnp-example
No external dependencies! 🙌
Crate hole-punching-tests
Dependencies (6 total, 2 outdated)
Crate Required Latest Status anyhow ^1
1.0.93
up to date env_logger ^0.10.2
0.11.5
out of date redis ^0.24.0
0.27.5
out of date serde ^1.0.203
1.0.215
up to date serde_json ^1.0.117
1.0.132
up to date either ^1.12.0
1.13.0
up to date
Crate libp2p-identity
Dependencies (14 total, 1 outdated)
Dev dependencies (5 total, all up-to-date)
Crate interop-tests
Dependencies (4 total, all up-to-date)
Crate Required Latest Status anyhow ^1
1.0.93
up to date either ^1.11.0
1.13.0
up to date rand ^0.8.5
0.8.5
up to date serde ^1
1.0.215
up to date
Crate libp2p-allow-block-list
Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status async-std ^1.12.0
1.13.0
up to date
Crate libp2p-connection-limits
Dev dependencies (2 total, all up-to-date)
Crate Required Latest Status async-std ^1.12.0
1.13.0
up to date rand ^0.8.5
0.8.5
up to date
Crate keygen
Dependencies (5 total, all up-to-date)
Crate Required Latest Status clap ^4.5.6
4.5.21
up to date zeroize ^1
1.8.1
up to date serde ^1.0.203
1.0.215
up to date serde_json ^1.0.117
1.0.132
up to date base64 ^0.22.1
0.22.1
up to date
Crate libp2p-memory-connection-limits
Dependencies (2 total, 1 outdated)
Dev dependencies (2 total, all up-to-date)
Crate Required Latest Status async-std ^1.12.0
1.13.0
up to date rand ^0.8.5
0.8.5
up to date
Crate libp2p-metrics
Dependencies (1 total, all up-to-date)
Crate Required Latest Status pin-project ^1.1.5
1.1.7
up to date
Crate multistream-select
Dependencies (3 total, all up-to-date)
Dev dependencies (3 total, all up-to-date)
Crate quick-protobuf-codec
Dependencies (3 total, 1 outdated)
Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status criterion ^0.5.1
0.5.1
up to date
Crate quickcheck-ext
Dependencies (2 total, all up-to-date)
Crate rw-stream-sink
Dependencies (2 total, all up-to-date)
Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status async-std ^1.0
1.13.0
up to date
Crate libp2p-server
Dependencies (8 total, all up-to-date)
Crate libp2p-webrtc-utils
Dependencies (8 total, 1 outdated)
Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status hex-literal ^0.4
0.4.1
up to date
Crate libp2p-mplex
Dependencies (5 total, all up-to-date)
Dev dependencies (2 total, all up-to-date)
Crate libp2p-muxer-test-harness
Dependencies (2 total, all up-to-date)
Crate libp2p-yamux
Dependencies (3 total, 1 outdated)
Crate Required Latest Status either ^1
1.13.0
up to date thiserror ^1.0
2.0.3
out of date yamux ^0.13.3
0.13.3
up to date
Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status async-std ^1.7.0
1.13.0
up to date
Crate libp2p-autonat
Dependencies (8 total, 1 outdated)
Dev dependencies (3 total, 1 possibly insecure)
Crate libp2p-dcutr
Dependencies (5 total, 1 outdated)
Dev dependencies (3 total, all up-to-date)
Crate Required Latest Status async-std ^1.12.0
1.13.0
up to date clap ^4.5.6
4.5.21
up to date rand ^0.8
0.8.5
up to date
Crate libp2p-floodsub
Dependencies (7 total, 1 outdated)
Crate libp2p-gossipsub
Dependencies (14 total, all up-to-date)
Dev dependencies (2 total, all up-to-date)
Crate Required Latest Status async-std ^1.6.3
1.13.0
up to date hex ^0.4.2
0.4.3
up to date
Crate libp2p-identify
Dependencies (6 total, 1 outdated)
Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status async-std ^1.6.2
1.13.0
up to date
Crate libp2p-kad
Dependencies (12 total, 2 outdated)
Dev dependencies (2 total, all up-to-date)
Crate libp2p-mdns
Dependencies (8 total, all up-to-date)
Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status async-std ^1.9.0
1.13.0
up to date
Crate libp2p-perf
Dependencies (6 total, 1 outdated)
Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status rand ^0.8
0.8.5
up to date
Crate libp2p-ping
Dependencies (3 total, all up-to-date)
Crate libp2p-relay
Dependencies (7 total, 1 outdated)
Crate libp2p-rendezvous
Dependencies (6 total, 1 outdated)
Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status rand ^0.8
0.8.5
up to date
Crate libp2p-request-response
Dependencies (7 total, all up-to-date)
Dev dependencies (5 total, all up-to-date)
Crate libp2p-stream
Dependencies (1 total, all up-to-date)
Crate Required Latest Status rand ^0.8
0.8.5
up to date
Crate libp2p-upnp
Dependencies (2 total, all up-to-date)
Crate libp2p-swarm-derive
Dependencies (4 total, all up-to-date)
Crate Required Latest Status heck ^0.5
0.5.0
up to date quote ^1.0
1.0.37
up to date syn ^2.0.66
2.0.87
up to date proc-macro2 ^1.0
1.0.89
up to date
Crate libp2p-swarm-test
Dependencies (3 total, all up-to-date)
Crate libp2p-swarm
Dependencies (9 total, all up-to-date)
Dev dependencies (5 total, all up-to-date)
Crate libp2p-dns
Dependencies (5 total, all up-to-date)
Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status async-std ^1.6
1.13.0
up to date
Crate libp2p-noise
Dependencies (10 total, 1 outdated, 1 possibly insecure)
Dev dependencies (1 total, all up-to-date)
Crate libp2p-plaintext
Dependencies (2 total, all up-to-date)
Dev dependencies (2 total, all up-to-date)
Crate libp2p-pnet
Dependencies (4 total, all up-to-date)
Crate Required Latest Status salsa20 ^0.10
0.10.2
up to date sha3 ^0.10
0.10.8
up to date rand ^0.8
0.8.5
up to date pin-project ^1.1.5
1.1.7
up to date
Crate libp2p-quic
Dependencies (10 total, 1 outdated)
Dev dependencies (2 total, all up-to-date)
Crate libp2p-tcp
Dependencies (5 total, all up-to-date)
Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status async-std ^1.6.5
1.13.0
up to date
Crate libp2p-tls
Dependencies (5 total, 2 outdated)
Dev dependencies (2 total, all up-to-date)
Crate Required Latest Status hex ^0.4.3
0.4.3
up to date hex-literal ^0.4.1
0.4.1
up to date
Crate libp2p-uds
Dependencies (1 total, all up-to-date)
Crate Required Latest Status async-std ^1.6.2
1.13.0
up to date
Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status tempfile ^3.10
3.14.0
up to date
Crate libp2p-webrtc-websys
Dependencies (9 total, 1 outdated)
Crate libp2p-webrtc
Dependencies (12 total, 2 outdated)
Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status quickcheck ^1.0.3
1.0.3
up to date
Crate libp2p-websocket-websys
Dependencies (7 total, 1 outdated)
Crate libp2p-websocket
Dependencies (7 total, 2 outdated)
Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status async-std ^1.6.5
1.13.0
up to date
Crate libp2p-webtransport-websys
Dependencies (7 total, 1 outdated)
Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status multibase ^0.9.1
0.9.1
up to date
Crate webtransport-tests
Dependencies (5 total, all up-to-date)
Crate libp2p
Dependencies (6 total, 1 outdated)
Dev dependencies (3 total, all up-to-date)
Security Vulnerabilities tokio
: reject_remote_clients Configuration corruptionRUSTSEC-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);
Patched
>=1.18.4, <1.19.0
>=1.20.3, <1.21.0
>=1.23.1
curve25519-dalek
: Timing variability in `curve25519-dalek`'s `Scalar29::sub`/`Scalar52::sub`RUSTSEC-2024-0344
Timing variability of any kind is problematic when working with potentially secret values such as
elliptic curve scalars, and such issues can potentially leak private keys and other secrets. Such a
problem was recently discovered in curve25519-dalek
.
The Scalar29::sub
(32-bit) and Scalar52::sub
(64-bit) functions contained usage of a mask value
inside a loop where LLVM saw an opportunity to insert a branch instruction (jns
on x86) to
conditionally bypass this code section when the mask value is set to zero as can be seen in godbolt:
A similar problem was recently discovered in the Kyber reference implementation:
https://groups.google.com/a/list.nist.gov/g/pqc-forum/c/hqbtIGFKIpU/m/cnE3pbueBgAJ
As discussed on that thread, one portable solution, which is also used in this PR, is to introduce a
volatile read as an optimization barrier, which prevents the compiler from optimizing it away.
The fix can be validated in godbolt here:
The problem was discovered and the solution independently verified by
Alexander Wagner [email protected] and Lea Themint [email protected] using
their DATA tool:
https://github.com/Fraunhofer-AISEC/DATA