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 quinn-udp

Dependencies

(6 total, 2 outdated, 2 possibly insecure)

CrateRequiredLatestStatus
 futures-util^0.3.110.3.33up to date
 libc^0.2.690.2.186up to date
 quinn-proto ⚠️^0.80.11.16out of date
 socket2^0.40.6.5out of date
 tokio ⚠️^1.0.11.53.0maybe insecure
 tracing^0.1.100.1.44up to date

Security Vulnerabilities

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

quinn-proto: Denial of service in Quinn servers

RUSTSEC-2023-0063

Receiving QUIC frames containing a frame with unknown frame type could lead to a panic. Unfortunately this is issue was not found by our fuzzing infrastructure.

Thanks to the QUIC Tester research group for reporting this issue.

quinn-proto: Denial of service in Quinn endpoints

RUSTSEC-2026-0037

Receiving QUIC transport parameters containing invalid values could lead to a panic.

Unfortunately the maintainers did not properly assess usage of unwrap() calls in the transport parameters parsing code, and we did not have sufficient fuzzing coverage to find this issue. We have since added a fuzzing target to cover this code path.

quinn-proto: Remote memory exhaustion in quinn-proto from unbounded out-of-order stream reassembly

RUSTSEC-2026-0185

The Assembler component that assembles unordered stream fragments into consecutive chunks of the stream incurs some overhead for non-contiguous fragments. Readers that read from a RecvStream in order (through an AsyncRead impl for example) will be sensitive to peers that send fragments while leaving out early parts of the stream, and in particular, fragments with many gaps (because these cannot be defragmented). In such a scenario, the receiving connection suffers from high buffer overhead, enabling memory exhaustion.