{"id":"GHSA-c8m5-c952-6cm4","revision":"80e59a2ee96f4db5af4710c00dd31e9c","records":[{"revision":"80e59a2ee96f4db5af4710c00dd31e9c","observedAt":"2026-10-27T16:45:46.193+00:00","statement":{"source":"osv","id":"GHSA-c8m5-c952-6cm4","aliases":["RUSTSEC-2026-0346"],"title":"Rustls: Session Debug formatting exposes TLS master secrets and resumption PSKs","description":"### Summary\n\nFormatting 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.\n\n### Details\n\nDerived 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).\n\n### Proof of concept\n\nCustom `ClientSessionStore` implementations could leak secret data by using the provided `Tls12ClientSessionValue` or `Tls13ClientSessionValue` in a way that triggers its implementation of the `Debug` trait.\n\n### Impact\n\nSuch store implementations could leak the master secret for the TLS connection.\n\n### Acknowledgement\nThanks to OpenAI [OutboundDisclosures@openai.com](mailto:OutboundDisclosures@openai.com) for the disclosure.","state":0,"publishedAt":"2026-10-27T16:08:47+00:00","modifiedAt":"2026-10-27T16:15:05.3543957+00:00","affected":[{"ecosystem":"crates.io","name":"rustls","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0"},{"kind":"fixed","version":"0.23.46"}]}],"versions":[],"rawVersionEvidence":null},{"ecosystem":"crates.io","name":"rustls","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0.24.0-dev.1"},{"kind":"fixed","version":"0.24.0-dev.2"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V3","vector":"CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:U/C:H/I:N/A:N","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"MODERATE"}],"references":["https://github.com/rustls/rustls/security/advisories/GHSA-c8m5-c952-6cm4","https://github.com/rustls/rustls/pull/3299","https://github.com/rustls/rustls/pull/3354","https://github.com/rustls/rustls/commit/dcdb9464d376f45f42a94a5f837cda1506449f23","https://github.com/rustls/rustls/commit/f5f7bf5078a7edcbd81a9e82a97f2bd14dc1c855","https://github.com/rustls/rustls","https://github.com/rustls/rustls/releases/tag/v/0.23.46","https://rustsec.org/advisories/RUSTSEC-2026-0346.html"],"sourceUrl":"https://github.com/advisories/GHSA-c8m5-c952-6cm4","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-c8m5-c952-6cm4","identifiers":["GHSA-c8m5-c952-6cm4","RUSTSEC-2026-0346"]},"retained":false,"historicalAffected":[]}],"coverage":[]}