Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.
Open advisories
6 actionable advisories, newest first. Withdrawn advisories and news are excluded. Coverage is partial.
In rustls 0.23.44 and 0.23.45, application data that a client buffers before the handshake completes is sent to the server even when the server rejects Encrypted Client Hello (ECH). When the server rejects ECH, the client completes the handshake with the outer ClientHello and authenticates the server against the ECH config's `public_name`. At the end of the handshake, `start_traffic()` encrypts and queues any plaintext buffered by `ClientConnection::writer()`. It does this *before* checking for `EchStatus::Rejected` and queueing the `ech_required` alert. The application then receives `Error::PeerIncompatible(ServerRejectedEncryptedClientHello)`, as expected. However, the client is still expected to call `write_tls()` to send the fatal alert, and that call also sends the encrypted application data. The server decrypts the data and only then receives the alert. The ordering bug is older than 0.23.44. Before 0.23.44, the client checked the server certificate against the inner server…
Recommended action: Upgrade to 0.24.0-dev.2 (pre-release) or 0.23.46 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
The client records the server-selected key-exchange group per server name when it processes the ServerHello, before the server is authenticated. A network attacker can answer one connection attempt for a target name with a ServerHello that selects X25519 and close the connection. Later ClientHellos for that name carry one X25519 share while supported_groups still lists X25519MLKEM768 first. If the server accepts that share instead of sending a HelloRetryRequest, the handshake completes with classical key exchange only and no error. An attacker that answers one connection attempt for the target name with a ServerHello selecting X25519 changes every later ClientHello of that client for that name, for as long as the entry stays in the store. No certificate or completed handshake is needed: it parses the ClientHello, sends the ServerHello, and closes. TLS 1.3 transcript binding stops an on-path attacker from editing the ClientHello of one connection. It does not stop the…
Recommended action: Upgrade to 0.24.0-dev.2 (pre-release) or 0.23.46 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Formatting a client session value with Debug exposes its TLS 1.2 master secret or TLS 1.3 resumption PSK. A custom session store that logs these values can disclose keys to readers of the logs. Ordinary connection and built-in cache diagnostics remain redacted, and the session-store interface already warns that its values are sensitive. Details Derived formatters traverse the session's secret-bearing fields. This conflicts with the project's explicit key-material redaction policy. Proof of concept Custom `ClientSessionStore` implementations could leak secret data by using the provided `Tls12ClientSessionValue` or `Tls13ClientSessionValue` in a way that triggers its implementation of the `Debug` trait. Impact Such store implementations could leak the master secret for the TLS connection. Acknowledgement Thanks to OpenAI…
Recommended action: Upgrade to 0.24.0-dev.2 (pre-release) or 0.23.46 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
The built-in (but disabled by default) Brotli certificate decoder bounds the output buffer but accepts an input-selected history window. A header of five bytes can specify a 1 GiB window allocation. A peer can abort a process whose allocator cannot satisfy that request. A client must enable Brotli and connect to the peer; a server must enable Brotli and request a client certificate. Neither direction requires a trusted attacker certificate. Details rustls calls `BrotliDecompress` which enables Brotli's large-window extension. rustls applies a limit to certificates, but this applies to the decompressed result, and not to any internal allocations the process requires. Impact Client applications that enable the `brotli` feature will be vulnerable to malicious servers. Server applications that enable the `brotli` feature and enable client authentication will be vulnerable to malicious clients. Potential for denial of service due to memory exhaustion from peers sending…
Recommended action: Upgrade to 0.24.0-dev.2 (pre-release) or 0.23.46 by release line, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Rustls accepted TLS 1.3 handshake messages sent at the wrong encryption level when they followed a key-changing message in the same record. The handshake transcript is still authenticated, so a network-position attacker cannot use this to alter or complete a handshake; the practical effect is that a peer could send handshake messages that should be encrypted in plaintext without rustls rejecting the connection. This issue affects rustls versions 0.23.13 through 0.23.44 inclusive. Original report Summary Rustls (tested version 0.23.44, and it appears still an issue on latest master though I have not tested this) accepts a TLS 1.3 server flight where a plaintext EncryptedExtensions is packed into the same record as the ServerHello. This is very similar to Go's CVE-2025-61730 fixed in https://github.com/golang/go/commit/5046bdf8a612b35a2c1a9e168054c1d5c65e7dd7 Details It appears `Deframer::aligned` considers itself aligned as long as all messages remaining in the buffer are…
Recommended action: Upgrade to 0.23.45 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
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 rustlsacceptoraccept API are affected.
Recommended action: Upgrade to 0.23.18 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.