{"id":"CVE-2026-123609","kind":"vulnerability","aliases":["CVE-2026-123609"],"related":[],"title":"Rustls: Debug output of session values can leak TLS secrets to logs","description":"Rustls before 0.23.46 and 0.24.0-dev.1 before 0.24.0-dev.2 contains an information disclosure vulnerability where derived Debug formatting of client session values exposes secret key material. Custom ClientSessionStore implementations that log Tls12ClientSessionValue or Tls13ClientSessionValue can leak TLS 1.2 master secrets or TLS 1.3 resumption PSKs to log readers.","summary":"Rustls before 0.23.46 and 0.24.0-dev.1 before 0.24.0-dev.2 derive Debug formatting for client session values that hold secret key material. A custom ClientSessionStore that logs these values writes TLS 1.2 master secrets or TLS 1.3 resumption PSKs into log files, where anyone who reads the logs can take them.","severity":"medium","cvss":4.1,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","rust","rustls","tls"],"not_affected_if":["default-session-store","no-session-value-logging"],"how_to_check":"- Check the Rustls version in Cargo.lock for `rustls` at `0.23.x` below `0.23.46`, or `0.24.0-dev.1` below `0.24.0-dev.2`.\n- Search your code for a custom `ClientSessionStore` implementation that logs `Tls12ClientSessionValue` or `Tls13ClientSessionValue` with Debug formatting (`{:?}`).","fix":"- `rustls` `0.23.46` for the 0.23 line\n- `rustls` `0.24.0-dev.2` for the 0.24 development line","status":"open","published_at":"2026-11-08T02:16:56+00:00","first_seen_at":"2026-11-08T02:21:14+00:00","triaged_at":"2026-11-08T02:26:44+00:00","updated_at":"2026-11-08T02:26:44+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-11-08T02:26:44Z","model":"claude-haiku-5-5","output":{"fix":"- `rustls` `0.23.46` for the 0.23 line\n- `rustls` `0.24.0-dev.2` for the 0.24 development line","reach":"local","title":"Rustls: Debug output of session values can leak TLS secrets to logs","impact":"medium","summary":"Rustls before 0.23.46 and 0.24.0-dev.1 before 0.24.0-dev.2 derive Debug formatting for client session values that hold secret key material. A custom ClientSessionStore that logs these values writes TLS 1.2 master secrets or TLS 1.3 resumption PSKs into log files, where anyone who reads the logs can take them.","audience":"developers","category":"package","nicknames":[],"who_cares":["rust","rustls","tls"],"confidence":0.8,"fix_status":"available","needs_auth":"no","worst_case":"TLS session secrets written to logs readable by log readers","analyst_note":"","how_to_check":"- Check the Rustls version in Cargo.lock for `rustls` at `0.23.x` below `0.23.46`, or `0.24.0-dev.1` below `0.24.0-dev.2`.\n- Search your code for a custom `ClientSessionStore` implementation that logs `Tls12ClientSessionValue` or `Tls13ClientSessionValue` with Debug formatting (`{:?}`).","plain_action":"","needs_analyst":false,"not_affected_if":["default-session-store","no-session-value-logging"],"who_is_affected":"Only applications that use Rustls with a custom ClientSessionStore that logs session values through Debug formatting are exposed. Applications that use the default session store, or that never log these values, are not affected by the leak. Teams should check their own session store code and any logging that dumps client session structures.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000754,"input_tokens":4329,"output_tokens":642,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-123609':15A,18A '-2026':14A,17A '0.23.46':25B,74C '0.24.0':27B,30B,76C,79C '1.2':53B,109C '1.3':58B,114C 'anyon':65B 'client':36B,91C 'clientsessionstor':46B,99C 'contain':81C 'custom':45B,98C 'cve':13A,16A 'debug':2A,33B,88C 'deriv':32B,87C 'dev.1':28B,77C 'dev.2':31B,80C 'disclosur':84C 'expos':94C 'file':63B 'format':34B,89C 'hold':40B 'implement':100C 'inform':83C 'key':42B,96C 'leak':8A,107C 'log':12A,48B,62B,69B,102C,118C 'master':54B,110C 'materi':43B,97C 'output':3A 'packag':19B 'psks':60B,116C 'read':67B 'reader':119C 'resumpt':59B,115C 'rust':20B 'rustl':1A,21B,23B,72C 'secret':10A,41B,55B,95C,111C 'session':5A,37B,92C 'take':71B 'tls':9A,22B,52B,57B,108C,113C 'tls12clientsessionvalue':103C 'tls13clientsessionvalue':105C 'valu':6A,38B,50B,93C 'vulner':85C 'write':51B","nicknames":[],"mitigations":[],"who_affected":"Only applications that use Rustls with a custom ClientSessionStore that logs session values through Debug formatting are exposed. Applications that use the default session store, or that never log these values, are not affected by the leak. Teams should check their own session store code and any logging that dumps client session structures.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["medium","package","rust","rustls","tls"],"campaign_type":null,"search_a":"'-123609':15A,18A '-2026':14A,17A 'cve':13A,16A 'debug':2A 'leak':8A 'log':12A 'output':3A 'rustl':1A 'secret':10A 'session':5A 'tls':9A 'valu':6A","search_b":"'0.23.46':25B '0.24.0':27B,30B '1.2':53B '1.3':58B 'anyon':65B 'client':36B 'clientsessionstor':46B 'custom':45B 'debug':33B 'deriv':32B 'dev.1':28B 'dev.2':31B 'file':63B 'format':34B 'hold':40B 'key':42B 'log':48B,62B,69B 'master':54B 'materi':43B 'packag':19B 'psks':60B 'read':67B 'resumpt':59B 'rust':20B 'rustl':21B,23B 'secret':41B,55B 'session':37B 'take':71B 'tls':22B,52B,57B 'valu':38B,50B 'write':51B","search_c":"'0.23.46':74C '0.24.0':76C,79C '1.2':109C '1.3':114C 'client':91C 'clientsessionstor':99C 'contain':81C 'custom':98C 'debug':88C 'deriv':87C 'dev.1':77C 'dev.2':80C 'disclosur':84C 'expos':94C 'format':89C 'implement':100C 'inform':83C 'key':96C 'leak':107C 'log':102C,118C 'master':110C 'materi':97C 'psks':116C 'reader':119C 'resumpt':115C 'rustl':72C 'secret':95C,111C 'session':92C 'tls':108C,113C 'tls12clientsessionvalue':103C 'tls13clientsessionvalue':105C 'valu':93C 'vulner':85C","first_public_at":"2026-10-14T09:54:58+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:L/AC:H/AT:P/PR:H/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-123609","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-123609","severity":null,"published_at":"2026-11-08T02:16:56+00:00","modified_at":"2026-11-08T02:16:56+00:00","first_seen_at":"2026-11-08T02:21:14+00:00","fetched_at":"2026-11-08T02:21:14+00:00","note":null}],"documents":[{"id":99369,"url":"https://github.com/rustls/rustls/security/advisories/GHSA-c8m5-c952-6cm4","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-10-14T09:54:58+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"},{"id":99370,"url":"https://www.vulncheck.com/advisories/rustls-before-0.23.46-and-0.24.0-dev.1-before-0.24.0-dev.2-secret-exposure-via-debug","title":"Third-party advisory: www.vulncheck.com","kind":"advisory","source":"nvd","publisher":"research","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Third-party advisory: www.vulncheck.com"}],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}