GitHub Advisoryadvisory · crates.io

GHSA-c8m5-c952-6cm4 Rustls: Session Debug formatting exposes TLS master secrets and resumption PSKs

MEDIUM Published 2026-10-27 Modified 2026-10-27 Official page ↗
Ecosystem
crates.io
Packages
rustls
Severity
Moderate
CVSS vector
CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:U/C:H/I:N/A:N
Weaknesses
CWE-212
Reviewed
2026-10-27

Affected packages

• crates.io rustls: < 0.23.46 → fixed in 0.23.46 • crates.io rustls: >= 0.24.0-dev.1, < 0.24.0-dev.2 → fixed in 0.24.0-dev.2

Description

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. 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] for the disclosure.

Related

Weakness · CWE (1)

  • CWE-212 Improper Removal of Sensitive Information Before Storage or Transfer weakness

References