Database/Kernel, userspace & hypervisor
OpenSSL: SSL_free_buffers frees a record buffer still in use, giving a use-after-free
Impact
OpenSSL terminates TLS for nearly everything an operator runs - API gateways, registries, inference endpoints, management interfaces. Calling SSL_free_buffers can free the internal record buffer while it is still in use: either a record header has been processed but the body has not arrived, or a full record was processed and the application has read only part of the data. The consequence is a use-after-free, which can mean data corruption, a crash, or in the worst case code execution in the TLS-terminating process. The practical reach is narrow: only applications that call SSL_free_buffers directly are affected, and OpenSSL's own investigation indicates that function is rarely used. The FIPS modules in 3.0, 3.1, 3.2 and 3.3 are not affected. Treat the 9.8 as the worst case for an application that does call it, not as the fleet-wide exposure.
Who can reach it
Remote and unauthenticated against a service that both terminates TLS with OpenSSL and calls SSL_free_buffers; the attacker engineers partial-record delivery so the buffer is freed while in use. A service that never calls that function is not exploitable.
What to do
Update OpenSSL to a release carrying the upstream fix commits and restart every daemon linked against it - a package update alone leaves old processes on the old library, so inventory what still has the old shared object mapped. Before scheduling anything broad, check whether your TLS-terminating services actually call SSL_free_buffers; if none do, this is a routine library update rather than an emergency. No node reboot is required unless your tooling needs one to restart everything.
References
Related entries
- Linux kernel RTRS client (rtrs-clt init_conns connection-id bound): When connection setup fails partway through, theCVE-2024-47695 · Linux kernel RTRS client (rtrs-clt init_conns connection-id bound)Critical
- Linux kernel SMC-R/SMC-D (CLC proposal parsing, v2_ext_offset / eid_cnt / ism_gid_cnt): The same unvalidated-offsetCVE-2024-49568 · Linux kernel SMC-R/SMC-D (CLC proposal parsing, v2_ext_offset / eid_cnt / ism_gid_cnt)Critical
- Linux kernel mlx5_core kTLS TX offload: The kTLS TX path mixes get_page() and page_ref_inc() when acquiring referencesCVE-2024-53138 · Linux kernel mlx5_core kTLS TX offloadCritical
- Linux kernel (net/smc): The server-side listen worker frees a connection outside the socket lock, so smc_conn_free()CVE-2024-56640 · Linux kernel (net/smc)Critical
- Linux kernel (net/smc): A link-down work item can be queued before the link group is freed but run after, so the workerCVE-2024-56718 · Linux kernel (net/smc)Critical
- Linux kernel (net/tls): The synchronous decrypt path shared refcounting and completion state with the async path, so aCVE-2024-58240 · Linux kernel (net/tls)Critical
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.