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 (7 total, 1 outdated)
Crate autonat-example Dependencies (1 total, all up-to-date)
Crate Required Latest Status clap ^4.5.64.5.60up to date
Crate autonatv2 Dependencies (9 total, 5 outdated)
Crate browser-webrtc-example Dependencies (13 total, 4 outdated)
Crate chat-example No external dependencies! 🙌
Crate dcutr-example Dependencies (2 total, all up-to-date)
Crate Required Latest Status clap ^4.5.64.5.60up to date futures-timer ^3.03.0.3up to date
Crate distributed-key-value-store-example No external dependencies! 🙌
Crate file-sharing-example Dependencies (2 total, all up-to-date)
Crate Required Latest Status serde ^1.01.0.228up to date clap ^4.5.64.5.60up to date
Crate identify-example Dependencies (1 total, all up-to-date)
Crate Required Latest Status tokio ^1.37.01.49.0up to date
Crate ipfs-kad-example Dependencies (2 total, all up-to-date)
Crate Required Latest Status clap ^4.5.64.5.60up to date anyhow ^1.0.861.0.102up to date
Crate ipfs-private-example Dependencies (1 total, all up-to-date)
Crate Required Latest Status either ^1.121.15.0up to date
Crate metrics-example Dependencies (5 total, 5 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.64.5.60up to date tokio ^1.37.01.49.0up to date
Crate rendezvous-example No external dependencies! 🙌
Crate stream-example Dependencies (2 total, 1 outdated)
Crate Required Latest Status anyhow ^11.0.102up to date rand ^0.80.10.0out of date
Crate upnp-example No external dependencies! 🙌
Crate hole-punching-tests Dependencies (5 total, 1 outdated)
Crate Required Latest Status anyhow ^11.0.102up to date redis ^0.24.01.0.4out of date serde ^1.0.2031.0.228up to date serde_json ^1.0.1171.0.149up to date either ^1.12.01.15.0up to date
Crate libp2p-identity Dependencies (13 total, 1 outdated)
Dev dependencies (4 total, 2 outdated)
Crate interop-tests Dependencies (16 total, 6 outdated)
Crate libp2p-allow-block-list No external dependencies! 🙌
Crate libp2p-connection-limits Dev dependencies (1 total, 1 outdated)
Crate Required Latest Status rand ^0.8.50.10.0out of date
Crate keygen Dependencies (5 total, all up-to-date)
Crate Required Latest Status clap ^4.5.64.5.60up to date zeroize ^11.8.2up to date serde ^1.0.2031.0.228up to date serde_json ^1.0.1171.0.149up to date base64 ^0.22.10.22.1up to date
Crate libp2p-memory-connection-limits Dependencies (2 total, 1 outdated)
Crate libp2p-metrics Dependencies (1 total, all up-to-date)
Crate Required Latest Status pin-project ^1.1.51.1.10up to date
Crate multistream-select Dependencies (3 total, 1 possibly insecure)
Dev dependencies (2 total, all up-to-date)
Crate libp2p-peer-store Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status serde_json ^1.0.1341.0.149up to date
Crate quick-protobuf-codec Dependencies (2 total, 1 possibly insecure)
Dev dependencies (1 total, 1 outdated)
Crate Required Latest Status criterion ^0.5.10.8.2out of date
Crate quickcheck-ext Dependencies (2 total, all up-to-date)
Crate rw-stream-sink Dependencies (2 total, all up-to-date)
Crate libp2p-server Dependencies (6 total, 1 outdated)
Crate Required Latest Status base64 ^0.220.22.1up to date clap ^4.5.64.5.60up to date axum ^0.70.8.8out of date serde ^11.0.228up to date serde_json ^1.01.0.149up to date zeroize ^11.8.2up to date
Crate libp2p-webrtc-utils Dependencies (7 total, 1 outdated, 1 possibly insecure)
Dev dependencies (1 total, 1 outdated)
Crate Required Latest Status hex-literal ^0.41.1.0out of date
Crate libp2p-mplex Dependencies (5 total, 1 outdated, 1 possibly insecure)
Dev dependencies (1 total, 1 outdated)
Crate Required Latest Status criterion ^0.50.8.2out of 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 ^11.15.0up to date yamux ^0.13.30.13.8up to date
Crate libp2p-autonat Dependencies (6 total, 2 outdated)
Dev dependencies (1 total, 1 possibly insecure)
Crate libp2p-dcutr Dependencies (3 total, all up-to-date)
Crate libp2p-floodsub Dependencies (6 total, 1 outdated, 1 possibly insecure)
Crate libp2p-gossipsub Dependencies (13 total, 1 outdated, 1 possibly insecure)
Crate libp2p-identify Dependencies (4 total, all up-to-date)
Crate libp2p-kad Dependencies (10 total, 1 outdated, 1 possibly insecure)
Dev dependencies (1 total, all up-to-date)
Crate libp2p-mdns Dependencies (3 total, 1 outdated)
Crate Required Latest Status rand ^0.8.30.10.0out of date smallvec ^1.13.21.15.1up to date socket2 ^0.6.00.6.2up to date
Crate libp2p-perf Dependencies (5 total, all up-to-date)
Crate libp2p-ping Dependencies (2 total, 1 outdated)
Crate Required Latest Status futures-timer ^3.0.33.0.3up to date rand ^0.80.10.0out of date
Crate libp2p-relay Dependencies (6 total, 1 outdated, 1 possibly insecure)
Crate libp2p-rendezvous Dependencies (5 total, 1 outdated)
Dev dependencies (1 total, 1 outdated)
Crate Required Latest Status rand ^0.80.10.0out of date
Crate libp2p-request-response Dependencies (6 total, 2 outdated)
Dev dependencies (4 total, 1 outdated)
Crate libp2p-stream Dependencies (1 total, 1 outdated)
Crate Required Latest Status rand ^0.80.10.0out of date
Crate libp2p-upnp Dependencies (2 total, all up-to-date)
Crate libp2p-swarm-derive Dependencies (3 total, all up-to-date)
Crate Required Latest Status heck ^0.50.5.0up to date quote ^1.01.0.44up to date syn ^2.0.662.0.117up to date
Crate libp2p-swarm-test Dependencies (2 total, all up-to-date)
Crate libp2p-swarm Dependencies (6 total, 1 outdated)
Dev dependencies (3 total, 1 outdated)
Crate Required Latest Status either ^1.11.01.15.0up to date criterion ^0.50.8.2out of date trybuild ^1.0.951.0.116up to date
Crate libp2p-dns Dependencies (3 total, all up-to-date)
Crate libp2p-noise Dependencies (7 total, 2 outdated, 1 possibly insecure)
Dev dependencies (1 total, all up-to-date)
Crate libp2p-plaintext Dependencies (2 total, 1 possibly insecure)
Dev dependencies (1 total, all up-to-date)
Crate libp2p-pnet Dependencies (4 total, 1 outdated)
Crate Required Latest Status salsa20 ^0.100.10.2up to date sha3 ^0.100.10.8up to date rand ^0.80.10.0out of date pin-project ^1.1.51.1.10up to date
Crate libp2p-quic Dependencies (5 total, 1 outdated, 1 possibly insecure)
Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status quickcheck ^11.1.0up to date
Crate libp2p-tcp Dependencies (3 total, all up-to-date)
Crate libp2p-tls Dependencies (4 total, 1 outdated, 1 possibly insecure)
Dev dependencies (1 total, 1 outdated)
Crate Required Latest Status hex-literal ^0.4.11.1.0out of date
Crate libp2p-uds Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status tempfile ^3.103.25.0up to date
Crate libp2p-webrtc-websys Dependencies (7 total, 1 possibly insecure)
Crate libp2p-webrtc Dependencies (7 total, 3 outdated)
Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status quickcheck ^1.0.31.1.0up to date
Crate libp2p-websocket-websys Dependencies (5 total, 1 possibly insecure)
Crate libp2p-websocket Dependencies (6 total, 1 outdated)
Crate libp2p-webtransport-websys Dependencies (5 total, all up-to-date)
Dev dependencies (1 total, all up-to-date)
Crate Required Latest Status multibase ^0.9.10.9.2up to date
Crate webtransport-tests Dependencies (4 total, all up-to-date)
Crate libp2p Dependencies (4 total, 1 possibly insecure)
Security Vulnerabilities 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
tracing-subscriber: Logging user input may result in poisoning logs with ANSI escape sequencesRUSTSEC-2025-0055
Previous versions of tracing-subscriber were vulnerable to ANSI escape sequence injection attacks. Untrusted user input containing ANSI escape sequences could be injected into terminal output when logged, potentially allowing attackers to:
Manipulate terminal title bars
Clear screens or modify terminal display
Potentially mislead users through terminal manipulation
In isolation, impact is minimal, however security issues have been found in terminal emulators that enabled an attacker to use ANSI escape sequences via logs to exploit vulnerabilities in the terminal emulator.
This was patched in PR #3368 to escape ANSI control characters from user input.
bytes: Integer overflow in `BytesMut::reserve`RUSTSEC-2026-0007
In the unique reclaim path of BytesMut::reserve, the condition
if v_capacity >= new_cap + offset
uses an unchecked addition. When new_cap + offset overflows usize in release builds, this condition may incorrectly pass, causing self.cap to be set to a value that exceeds the actual allocated capacity. Subsequent APIs such as spare_capacity_mut() then trust this corrupted cap value and may create out-of-bounds slices, leading to UB.
This behavior is observable in release builds (integer overflow wraps), whereas debug builds panic due to overflow checks.
PoC
use bytes::*;
fn main() {
let mut a = BytesMut::from(&b"hello world"[..]);
let mut b = a.split_off(5);
// Ensure b becomes the unique owner of the backing storage
drop(a);
// Trigger overflow in new_cap + offset inside reserve
b.reserve(usize::MAX - 6);
// This call relies on the corrupted cap and may cause UB & HBO
b.put_u8(b'h');
}
Workarounds
Users of BytesMut::reserve are only affected if integer overflow checks are configured to wrap. When integer overflow is configured to panic, this issue does not apply.