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 (10 total, all up-to-date)
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.23
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.94
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.23
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.216
up to date clap ^4.5.6
4.5.23
up to date
Crate identify-example
Dependencies (1 total, all up-to-date)
Crate Required Latest Status tokio ^1.37.0
1.42.0
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, all up-to-date)
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.23
up to date tokio ^1.37.0
1.42.0
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.94
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.94
up to date env_logger ^0.10.2
0.11.5
out of date redis ^0.24.0
0.27.6
out of date serde ^1.0.203
1.0.216
up to date serde_json ^1.0.117
1.0.133
up to date either ^1.12.0
1.13.0
up to date
Crate libp2p-identity
Dependencies (13 total, all up-to-date)
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.94
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.216
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.23
up to date zeroize ^1
1.8.1
up to date serde ^1.0.203
1.0.216
up to date serde_json ^1.0.117
1.0.133
up to date base64 ^0.22.1
0.22.1
up to date
Crate libp2p-memory-connection-limits
Dependencies (2 total, all up-to-date)
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 (2 total, all up-to-date)
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 (7 total, all up-to-date)
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 (2 total, all up-to-date)
Crate Required Latest Status either ^1
1.13.0
up to date yamux ^0.13.3
0.13.4
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 (7 total, all up-to-date)
Dev dependencies (1 total, all up-to-date)
Crate libp2p-dcutr
Dependencies (4 total, all up-to-date)
Dev dependencies (2 total, all up-to-date)
Crate Required Latest Status clap ^4.5.6
4.5.23
up to date rand ^0.8
0.8.5
up to date
Crate libp2p-floodsub
Dependencies (6 total, all up-to-date)
Crate libp2p-gossipsub
Dependencies (15 total, all up-to-date)
Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status hex ^0.4.2
0.4.3
up to date
Crate libp2p-identify
Dependencies (5 total, all up-to-date)
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 (11 total, all up-to-date)
Dev dependencies (2 total, all up-to-date)
Crate libp2p-mdns
Dependencies (7 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 (5 total, all up-to-date)
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 (6 total, all up-to-date)
Crate libp2p-rendezvous
Dependencies (5 total, all up-to-date)
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.90
up to date proc-macro2 ^1.0
1.0.92
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 (3 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 (9 total, 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 (9 total, 1 possibly insecure)
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 (4 total, 1 outdated, 1 possibly insecure)
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 (8 total, all up-to-date)
Crate libp2p-webrtc
Dependencies (11 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 (6 total, all up-to-date)
Crate libp2p-websocket
Dependencies (6 total, 1 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 (6 total, all up-to-date)
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 (5 total, all up-to-date)
Dev dependencies (3 total, all up-to-date)
Security Vulnerabilities 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
rustls
: rustls network-reachable panic in `Acceptor::accept`RUSTSEC-2024-0399
A bug introduced in rustls 0.23.13 leads to a panic if the received
TLS ClientHello is fragmented. Only servers that use
rustls::server::Acceptor::accept()
are affected.
Servers that use tokio-rustls
's LazyConfigAcceptor
API are affected.
Servers that use tokio-rustls
's TlsAcceptor
API are not affected.
Servers that use rustls-ffi
's rustls_acceptor_accept
API are affected.
Unaffected
>=0.23, <0.23.13
<0.23