---
id: CVE-2026-84782
title: |-
  Issue summary: The DTLS retransmission logic does not correctly handle
  a handshake message write that is suspended part-way through.
  The retransmitted message can be read past the message buffer and
  the retransmission overwrites the inte…
summary: |-
  Issue summary: The DTLS retransmission logic does not correctly handle
  a handshake message write that is suspended part-way through.
  The retransmitted message can be read past the message buffer and
  the retransmission overwrites the inte…
severity: high
cvss: 8.2
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:H'
cwe:
  - CWE-125
vendor: OpenSSL
product: OpenSSL
affected:
  - OpenSSL >= 4.0.0 < 4.0.3
  - OpenSSL >= 3.6.0 < 3.6.5
  - OpenSSL >= 3.5.0 < 3.5.9
  - OpenSSL >= 3.4.0 < 3.4.8
  - OpenSSL >= 3.0.0 < 3.0.23
  - OpenSSL >= 1.1.1 < 1.1.1zj
  - OpenSSL >= 1.0.2 < 1.0.2zs
published: '2026-09-29'
updated: '2026-09-29'
sourceUpdated: '2026-09-29T17:17:10.793'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-84782'
references:
  - url: >-
      https://github.com/openssl/openssl/commit/906cf0ef1c85ca40ce69163e9086d6d3fe292943
    label: openssl-security@openssl.org
  - url: >-
      https://github.com/openssl/openssl/commit/9f6b34422af7eb5dac61322e33dac1ae989fa628
    label: openssl-security@openssl.org
  - url: >-
      https://github.com/openssl/openssl/commit/a383dafdd754eb5b22bf45e37e1bff9d07277a58
    label: openssl-security@openssl.org
  - url: >-
      https://github.com/openssl/openssl/commit/d951e02ede8f6a6ff8150546db44b34f0518192c
    label: openssl-security@openssl.org
  - url: 'https://openssl-library.org/news/secadv/20260929.txt'
    label: openssl-security@openssl.org
tags:
  - nvd
  - cve.org
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2026-09-29T16:45:35.833483Z'
ingestedAt: '2026-09-29T16:39:33.269Z'
---

## Overview

Issue summary: The DTLS retransmission logic does not correctly handle
a handshake message write that is suspended part-way through.
The retransmitted message can be read past the message buffer and
the retransmission overwrites the internal state the suspended write
needs to resume correctly.

Impact summary: The retransmitted message can disclose a heap memory
to the peer as plaintext handshake data or cause a crash and a Denial
of Service when the read reaches an unmapped memory region.

CWE: CWE-125: Out-of-bounds Read

Description: DTLS handshake messages can be written out in multiple
fragments, and a write can suspend mid-message (returning WANT_WRITE)
if the underlying transport temporarily cannot accept more data. While
such a write is suspended, the DTLS retransmission timer may
independently fire and ask the retransmission logic to resend an
earlier, already-acknowledged-as-sent message from its retransmit
queue.

The retransmission logic reused the same internal buffer and position
tracking as the message that was still being written, without
resetting the position back to the start of the message being
retransmitted. As a result the retransmission was read starting from
wherever the suspended write had left off, producing a mislabelled
message whose body was leftover bytes from the other, larger message
still in flight - content that was never meant to be sent at that
point, and which could run past the end of the allocated buffer.

Separately, even when the retransmission is positioned correctly,
allowing it to run to completion while another write is suspended
overwrites the same shared bookkeeping that the suspended write
depends on to resume. When the application later resumes the
suspended write (via a subsequent SSL_read(), SSL_write(),
SSL_accept(), or SSL_connect() call), it finds that bookkeeping in a
state inconsistent with the message and aborts the process in
a debugging build.

The fix resets the retransmission's read position to the start of the
message before resending, and skips retransmission entirely whenever a
handshake write is still suspended, deferring to the next call that
resumes it instead.

FIPS impact: no
The affected code is outside the FIPS module boundary.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
