OpenSSL CVE-2026-84782: Patch DTLS Heap Disclosure and Crash Flaw


OpenSSL published fixes on September 29, 2026 for CVE-2026-84782, a High-severity flaw in DTLS handshake retransmission that can disclose heap memory to a remote peer as plaintext handshake data or crash an affected process. The project released fixed versions across its supported public branches: OpenSSL 4.0.3, 3.6.5, 3.5.9, 3.4.8 and 3.0.23.

The issue also affects the legacy 1.1.1 and 1.0.2 branches. OpenSSL lists 1.1.1zj and 1.0.2zs as the corresponding fixed versions for customers receiving those legacy updates. OpenSSL 3.0 reached end of life in September 2026, making migration to a currently supported branch the stronger long-term action for deployments still using that series.

The vulnerable path is specific to DTLS, the datagram-oriented TLS protocol commonly carried over UDP. Ordinary TLS-over-TCP deployments do not use this DTLS retransmission mechanism. Administrators should therefore prioritize applications, appliances, VPN or communications software that actually use OpenSSL's DTLS implementation, while still following operating-system and product-vendor update guidance for bundled OpenSSL copies.

Affected and fixed OpenSSL versions

Branch Affected versions Fixed version
OpenSSL 4.0 4.0.0 through 4.0.2 4.0.3
OpenSSL 3.6 3.6.0 through 3.6.4 3.6.5
OpenSSL 3.5 3.5.0 through 3.5.8 3.5.9
OpenSSL 3.4 3.4.0 through 3.4.7 3.4.8
OpenSSL 3.0 3.0.0 through 3.0.22 3.0.23
OpenSSL 1.1.1 Earlier than 1.1.1zj 1.1.1zj
OpenSSL 1.0.2 Earlier than 1.0.2zs 1.0.2zs

These are upstream OpenSSL version floors. Linux distributions and appliance vendors frequently backport security fixes while retaining an older-looking package version, so package-manager or product-vendor advisories remain authoritative for those deployments.

How CVE-2026-84782 exposes memory

DTLS handshake messages can be split across multiple writes. A write can pause part-way through a message when the underlying transport temporarily cannot accept more data, returning WANT_WRITE. A retransmission timer can fire while that write remains suspended and request that OpenSSL resend an earlier handshake message.

OpenSSL says the vulnerable retransmission path reused the same internal buffer and position tracking as the message whose write was suspended. The retransmission could consequently begin from a stale offset, sending leftover bytes from another message and potentially reading beyond the allocated message buffer.

The resulting data can reach the peer as plaintext handshake content. If the out-of-bounds read reaches unmapped memory, the process can crash, producing a denial of service. The retransmission could also overwrite bookkeeping required to resume the suspended write, creating another process-abort path.

OpenSSL's fix resets the retransmission read position before resending and defers retransmission while a handshake write is still suspended.

Which deployments need priority

The practical exposure is narrower than the installed base of OpenSSL itself because the vulnerable code is in the DTLS retransmission path. Systems deserve priority when they meet these conditions:

  • an application or embedded product uses OpenSSL for DTLS;
  • a remote peer can participate in the affected DTLS handshake path;
  • the application can encounter suspended handshake writes and retransmission timing that reaches the vulnerable state.

Red Hat rates CVE-2026-84782 Important and describes the relevant exposure as software using DTLS over UDP under non-blocking I/O configurations. Its assessment also highlights the two material outcomes: remote memory exposure and process termination.

The OpenSSL project states that the affected code sits outside the FIPS module boundary. A FIPS module therefore is not itself affected by this CVE, although an application using that module can still include vulnerable non-FIPS OpenSSL protocol code and should be assessed at the application/package level.

Remediation checklist

  1. Identify DTLS users first. Inventory applications and products that use OpenSSL's DTLS APIs instead of treating every OpenSSL-linked process as equally exposed.
  2. Apply the vendor-supported security update. For source-built upstream OpenSSL, move to the fixed release for the active branch. For Linux distributions, containers, appliances and commercial products, use the vendor's patched package or firmware.
  3. Plan migration from OpenSSL 3.0. The 3.0 branch has reached upstream end of life. A security-patched 3.0.23 deployment still needs a supported-branch migration plan.
  4. Restart affected services when required. Updating a shared library on disk does not replace the copy already mapped into a long-running process.
  5. Verify the runtime version. Container images, statically linked applications and embedded products can retain vulnerable OpenSSL code after the host operating system has been patched.

The wider September 29 OpenSSL update

CVE-2026-84782 is the most severe issue in OpenSSL's September 29 security set. The same release family also fixes additional vulnerabilities, including a Moderate-severity OpenSSL 4.0 X.509 extension-cache use-after-free and several Low-severity DTLS, QUIC, CMP and cryptographic implementation issues.

That makes the release useful as a normal security-update boundary even for installations whose DTLS exposure is limited. OpenSSL's 3.5 release notes identify 3.5.9 as a security patch release and list CVE-2026-84782 alongside the other fixes in that branch.

Bottom line

CVE-2026-84782 is a remote information-disclosure and denial-of-service risk for applications that reach OpenSSL's affected DTLS retransmission path. Operators with DTLS workloads should update promptly to the fixed branch release or their vendor's backported package, then confirm that long-running services and container images are actually using patched code. The broad OpenSSL install base should be triaged by protocol use: DTLS-facing software carries the direct CVE-2026-84782 exposure.

Sources