---
id: GHSA-c8m5-c952-6cm4
aliases:
  - RUSTSEC-2026-0346
title: >-
  Rustls: Session Debug formatting exposes TLS master secrets and resumption
  PSKs
summary: >-
  Rustls: Session Debug formatting exposes TLS master secrets and resumption
  PSKs
severity: medium
cvss: 4
cvssVector: 'CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:U/C:H/I:N/A:N'
vendor: rustls
product: rustls
ecosystem: rust
affected:
  - rustls < 0.23.46
  - 'rustls >= 0.24.0-dev.1, < 0.24.0-dev.2'
patched:
  - rustls 0.23.46
  - rustls 0.24.0-dev.2
published: '2026-10-27'
updated: '2026-10-27'
sourceUpdated: '2026-10-27T16:15:05.354395696Z'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-c8m5-c952-6cm4'
references:
  - url: 'https://github.com/rustls/rustls/security/advisories/GHSA-c8m5-c952-6cm4'
  - url: 'https://github.com/rustls/rustls/pull/3299'
  - url: 'https://github.com/rustls/rustls/pull/3354'
  - url: >-
      https://github.com/rustls/rustls/commit/dcdb9464d376f45f42a94a5f837cda1506449f23
  - url: >-
      https://github.com/rustls/rustls/commit/f5f7bf5078a7edcbd81a9e82a97f2bd14dc1c855
  - url: 'https://github.com/rustls/rustls'
  - url: 'https://github.com/rustls/rustls/releases/tag/v/0.23.46'
  - url: 'https://rustsec.org/advisories/RUSTSEC-2026-0346.html'
  - url: 'https://github.com/advisories/GHSA-c8m5-c952-6cm4'
tags:
  - osv
  - rust
  - ghsa
cwe:
  - CWE-212
ingestedAt: '2026-10-27T16:11:58.699Z'
---

## Overview

### 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 [OutboundDisclosures@openai.com](mailto:OutboundDisclosures@openai.com) for the disclosure.

## Affected packages

- `rustls < 0.23.46`
- `rustls >= 0.24.0-dev.1, < 0.24.0-dev.2`

## Remediation

Upgrade to a patched release:

- `rustls 0.23.46`
- `rustls 0.24.0-dev.2`
