Skip to main content
← All vulnerabilities
RUSTSEC-2026-0413GHSA-RC3F-4J82-CMRG

Use-after-free of caller-owned server name in client connection constructors

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 0.15.7
None on Exploit-DB, Metasploit or GitHub

Summary

In rustls-ffi 0.12.0 through 0.15.6, `rustls_client_connection_new()` and `rustls_client_connection_new_alpn()` retained a reference to the caller's `server_name` buffer after returning, rather than copying it. The API documentation did not require the buffer to outlive the call and as a result if the caller freed or reused the buffer, later TLS processing read freed memory. Clients that free or reuse the `server_name` buffer after the constructor returns are affected. This is most likely for language bindings that pass temporary strings. Callers that keep the `server_name` buffer alive for the lifetime of the `rustls_client_config` are not affected. Versions 0.12.0 through 0.15.6 are affected. Version 0.15.7+ changed these APIs to copy the input buffer.

Timeline

  1. Advisory published
  2. Record last updated
  3. First seen by cve.now

Affected versions

  • rustls-fficrates.io

    From 0.12.0 · fixed in 0.15.7

References 3

crates.io

rustsec.org

GitHub · rustls/rustls-ffi