rustls, the TLS library most of the Rust ecosystem uses instead of OpenSSL, shipped 0.23.46 on 14 October. Its release notes end with a line that stands out: “Thanks to OpenAI [email protected] for submitting 13 findings to us, whose fixes are included in this release.”
On 27 October, four GitHub security advisories for that release were published to the global advisory database. None has a CVE yet.
The four advisories
- GHSA-c8m5-c952-6cm4 (medium, 4.0): formatting a session with
Debugcould print the TLS 1.2 master secret or TLS 1.3 resumption PSK. Those are secrets that should never end up in logs. Credited to OpenAI. - GHSA-h2v8-394m-p7vv (low, 3.7): with Brotli certificate decompression enabled, a peer could make rustls allocate up to 1 GiB before authentication. The feature is off by default. Credited to OpenAI.
- GHSA-w44r-93j7-qv28 (low, 3.7): an unauthenticated ServerHello could poison the client’s remembered key-exchange choice for a server name, so later connections sent only a classical X25519 share and no post-quantum ML-KEM. Credited to an outside reporter.
- GHSA-vp88-798v-h67f (low, 2.3): when Encrypted Client Hello was rejected, buffered application data could reach the authenticated outer server before the
ech_requiredalert. It affects 0.23.44 and 0.23.45 only. Credited to an outside reporter.
The other advisories list earlier 0.23 versions as affected. The fix is 0.23.46 (or 0.24.0-dev.2 on the development line).
What to do
Run cargo update -p rustls and check Cargo.lock. If you log connection state with {:?}, assume earlier logs may contain secrets and rotate or purge them.
As for the 13 OpenAI findings: the release credits them, but neither rustls nor OpenAI says how they were found, and only two of the four advisories carry OpenAI’s credit.

The Campfire
CommentsThanks. Your comment is waiting for the desk. Once it is approved it appears here within about a minute.
Add a comment