A AegiFlow
MEDIUMCVSS 4.0

GHSA-c8m5-c952-6cm4

Rustls: Session Debug formatting exposes TLS master secrets and resumption PSKs

Published
2026-10-27
Modified
2026-10-27
Sources
github-advisory

Summary

### Summary 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](https://github.com/rustls/rustls/blob/99f2358cae2954837dbb866faf6727de75489ab9/SECURITY.md#boundary-public-api). ### 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 [[email protected]](mailto:[email protected]) for the disclosure.

Affected packages

EcosystemPackageAffected versionsFixed versions
rustrustls—0.23.46, 0.24.0-dev.2

Remediation: Upgrade to 0.23.46 or later.

References

Includes data from the GitHub Advisory Database, licensed under CC-BY 4.0.